KrisLibrary  1.0.0
LAPACKInterface.h
1 #ifndef MATH_LAPACK_INTERFACE_H
2 #define MATH_LAPACK_INTERFACE_H
3 
4 #include "MatrixTemplate.h"
5 
6 namespace Math {
7 
15 {
17  static bool IsCompliant(const fVector& x);
18  static bool IsCompliant(const dVector& x);
19  static bool IsCompliant(const cVector& x);
20  static bool IsCompliant(const fMatrix& A);
21  static bool IsCompliant(const dMatrix& A);
22  static bool IsCompliant(const cMatrix& A);
24  static void MakeCompliant(const fVector& A,fVector& out);
25  static void MakeCompliant(const dVector& A,dVector& out);
26  static void MakeCompliant(const cVector& A,cVector& out);
27  static void MakeCompliant(const fMatrix& A,fMatrix& out);
28  static void MakeCompliant(const dMatrix& A,dMatrix& out);
29  static void MakeCompliant(const cMatrix& A,cMatrix& out);
30 
32  static bool Solve(const fMatrix& A,const fVector& b,fVector& x);
33  static bool Solve(const dMatrix& A,const dVector& b,dVector& x);
36  static bool LeastSquares(const fMatrix& A,const fVector& b,fVector& x);
37  static bool LeastSquares(const dMatrix& A,const dVector& b,dVector& x);
38 
40  static bool Eigenvalues_Symmetric(const fMatrix& A,fVector& lambda);
41  static bool Eigenvalues_Symmetric(const dMatrix& A,dVector& lambda);
44  static bool Eigenvectors_Symmetric(const fMatrix& A,fVector& lambda,fMatrix& Q);
45  static bool Eigenvectors_Symmetric(const dMatrix& A,dVector& lambda,dMatrix& Q);
46 
47  static bool SVD(const fMatrix& A,fMatrix& U,fVector& W,fMatrix& Vt);
48  static bool SVD(const dMatrix& A,dMatrix& U,dVector& W,dMatrix& Vt);
49 };
50 
51 } //namespace Math
52 
53 #endif
static bool Eigenvalues_Symmetric(const fMatrix &A, fVector &lambda)
get the eigenvalues of a symmetric matrix
Definition: LAPACKInterface.cpp:502
An interface to LAPACK. Activated with the preprocessor flag HAVE_CLAPACK=1.
Definition: LAPACKInterface.h:14
static void MakeCompliant(const fVector &A, fVector &out)
makes a fortran-compliant copy of the object
Definition: LAPACKInterface.cpp:40
static bool LeastSquares(const fMatrix &A, const fVector &b, fVector &x)
Definition: LAPACKInterface.cpp:490
static bool Eigenvectors_Symmetric(const fMatrix &A, fVector &lambda, fMatrix &Q)
Definition: LAPACKInterface.cpp:514
static bool Solve(const fMatrix &A, const fVector &b, fVector &x)
solves the linear equation A*x = b
Definition: LAPACKInterface.cpp:478
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
static bool IsCompliant(const fVector &x)
the following return true if the object can be used directly with fortran
Definition: LAPACKInterface.cpp:7