|
TBCI Numerical high perf. C++ Library
2.8.0
|
LU solvers for the Fortran versions of Matrices, wrappers to lapack routines (eigenvalue solvers ...) More...
#include "tbci/cplx.h"#include "tbci/f_matrix.h"#include "tbci/f_bandmatrix.h"#include "tbci/lapack/lapack_lib.h"
Go to the source code of this file.
Macros | |
| #define | LAPACK_INLINE inline |
| Hack: Makes tbcilapack more self-contained. More... | |
Functions | |
| NAMESPACE_TBCI TVector< double > | lu_solve_expert (const F_BandMatrix< double > &A, const Vector< double > &B, int equi) |
| Solution of linear eqution systems, partial pivoting. More... | |
| TVector< double > | lu_solve (const F_BandMatrix< double > &A, const Vector< double > &B) |
| TVector< double > | lu_solve (F_BandMatrix< double > &A, const Vector< double > &B, integer kl, integer ku) |
| TVector< double > | lu_solve (const F_Matrix< double > &A, const Vector< double > &B, int overwriteA) |
| F_TMatrix< double > | lu_solve (const F_Matrix< double > &A, const F_Matrix< double > &B, int overwriteA) |
| F_TMatrix< double > | inv (const F_Matrix< double > &A, int overwriteA) |
| F_TMatrix< cplx< double > > | inv (const F_Matrix< cplx< double > > &A, int overwriteA) |
| F_TMatrix< cplx< double > > | lu_solve (const F_Matrix< cplx< double > > &A, const F_Matrix< cplx< double > > &B, int overwriteA) |
| int | eig (const F_Matrix< double > &A, Vector< double > &EW) |
| eigenvalues (and eigenvectors) A*EV=EW*EV of symmetric double Matrix A More... | |
| int | eig (const F_Matrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV) |
| int | eig (const F_BandMatrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV) |
| int | eig (const F_BandMatrix< double > &A, Vector< double > &EW, F_Matrix< double > &EV, double ew_min, double ew_max) |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< cplx< double > > &EW) |
| eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A More... | |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< cplx< double > > &EW, F_Matrix< cplx< double > > &EV) |
| int | eig (const F_BandMatrix< cplx< double > > &A, const F_BandMatrix< cplx< double > > &B, double EW_min, double EW_max, Vector< double > &Eigenwerte, F_Matrix< cplx< double > > &Eigenvectoren) |
| selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B More... | |
| int | eig (const F_Matrix< cplx< double > > &A, Vector< double > &EW, F_Matrix< cplx< double > > &EVec) |
| complex hermitean More... | |
| int | eig (F_Matrix< cplx< double > > A, Vector< double > &EW) |
LU solvers for the Fortran versions of Matrices, wrappers to lapack routines (eigenvalue solvers ...)
Definition in file lapack.cpp.
| #define LAPACK_INLINE inline |
Hack: Makes tbcilapack more self-contained.
Definition at line 10 of file lapack.cpp.
eigenvalues (and eigenvectors) A*EV=EW*EV of symmetric double Matrix A
Definition at line 263 of file lapack.cpp.
References F_Matrix< T >::columns(), dsyev_(), F_Matrix< T >::get_fortran_matrix(), and BVector< T >::get_fortran_vector().
Definition at line 279 of file lapack.cpp.
References F_Matrix< T >::columns(), dsyev_(), F_Matrix< T >::get_fortran_matrix(), and BVector< T >::get_fortran_vector().
| int eig | ( | const F_BandMatrix< double > & | A, |
| Vector< double > & | EW, | ||
| F_Matrix< double > & | EV | ||
| ) |
Definition at line 296 of file lapack.cpp.
References F_BandMatrix< T >::columns(), dsbev_(), F_BandMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), F_BandMatrix< T >::numSub(), and F_BandMatrix< T >::numSuper().
| int eig | ( | const F_BandMatrix< double > & | A, |
| Vector< double > & | EW, | ||
| F_Matrix< double > & | EV, | ||
| double | ew_min, | ||
| double | ew_max | ||
| ) |
Definition at line 320 of file lapack.cpp.
References F_BandMatrix< T >::columns(), dsbevx_(), F_Matrix< T >::get_col(), F_BandMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), i, F_BandMatrix< T >::numSub(), F_BandMatrix< T >::numSuper(), BVector< T >::resize(), F_Matrix< T >::resize(), and F_Matrix< T >::set_col().
eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A
Definition at line 374 of file lapack.cpp.
References NEW, TBCIDELETE, and zgeev_().
| int eig | ( | const F_Matrix< cplx< double > > & | A, |
| Vector< cplx< double > > & | EW, | ||
| F_Matrix< cplx< double > > & | EV | ||
| ) |
Definition at line 395 of file lapack.cpp.
References NEW, TBCIDELETE, and zgeev_().
| int eig | ( | const F_BandMatrix< cplx< double > > & | A, |
| const F_BandMatrix< cplx< double > > & | B, | ||
| double | EW_min, | ||
| double | EW_max, | ||
| Vector< double > & | Eigenwerte, | ||
| F_Matrix< cplx< double > > & | Eigenvectoren | ||
| ) |
selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B
Definition at line 419 of file lapack.cpp.
References CPLX__, doublecomplex::i, i, std::imag(), own_ev_(), own_ew_(), doublecomplex::r, real, BVector< T >::resize(), STD__, x, and y.
| int eig | ( | const F_Matrix< cplx< double > > & | A, |
| Vector< double > & | EW, | ||
| F_Matrix< cplx< double > > & | EVec | ||
| ) |
complex hermitean
Definition at line 539 of file lapack.cpp.
References BVector< T >::get_fortran_vector(), STD__, and zheev_().
Definition at line 567 of file lapack.cpp.
References BVector< T >::get_fortran_vector(), STD__, and zheev_().
Definition at line 181 of file lapack.cpp.
References F_Matrix< T >::columns(), dgesv_(), F_TMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), i, F_Matrix< T >::resize(), F_TMatrix< T >::setval(), and STD__.
Referenced by LU_invert().
Definition at line 208 of file lapack.cpp.
References F_TMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), i, F_Matrix< T >::resize(), F_TMatrix< T >::setval(), STD__, and zgesv_().
| TVector<double> lu_solve | ( | const F_BandMatrix< double > & | A, |
| const Vector< double > & | B | ||
| ) |
Definition at line 74 of file lapack.cpp.
References F_BandMatrix< T >::clear(), F_BandMatrix< T >::columns(), dgbsv_(), F_BandMatrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), i, F_BandMatrix< T >::ldab(), F_BandMatrix< T >::numSub(), F_BandMatrix< T >::numSuper(), and STD__.
| TVector<double> lu_solve | ( | F_BandMatrix< double > & | A, |
| const Vector< double > & | B, | ||
| integer | kl, | ||
| integer | ku | ||
| ) |
Definition at line 105 of file lapack.cpp.
References F_BandMatrix< T >::columns(), dgbsv_(), F_BandMatrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), F_BandMatrix< T >::ldab(), F_BandMatrix< T >::numSuper(), and STD__.
| TVector<double> lu_solve | ( | const F_Matrix< double > & | A, |
| const Vector< double > & | B, | ||
| int | overwriteA | ||
| ) |
Definition at line 129 of file lapack.cpp.
References F_Matrix< T >::columns(), dgesv_(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), and STD__.
| F_TMatrix<double> lu_solve | ( | const F_Matrix< double > & | A, |
| const F_Matrix< double > & | B, | ||
| int | overwriteA | ||
| ) |
Definition at line 156 of file lapack.cpp.
References F_Matrix< T >::columns(), dgesv_(), F_TMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), and STD__.
Referenced by expm(), lu_solve(), and WEAK().
| F_TMatrix<cplx<double> > lu_solve | ( | const F_Matrix< cplx< double > > & | A, |
| const F_Matrix< cplx< double > > & | B, | ||
| int | overwriteA | ||
| ) |
Definition at line 235 of file lapack.cpp.
References F_TMatrix< T >::get_fortran_matrix(), F_Matrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), F_Matrix< T >::resize(), STD__, and zgesv_().
| NAMESPACE_TBCI TVector<double> lu_solve_expert | ( | const F_BandMatrix< double > & | A, |
| const Vector< double > & | B, | ||
| int | equi | ||
| ) |
Solution of linear eqution systems, partial pivoting.
Definition at line 24 of file lapack.cpp.
References c, F_BandMatrix< T >::columns(), dgbsvx_(), dlamch_(), fact(), F_BandMatrix< T >::get_fortran_matrix(), BVector< T >::get_fortran_vector(), F_BandMatrix< T >::ldab(), F_BandMatrix< T >::numSub(), F_BandMatrix< T >::numSuper(), TVector< T >::size(), STD__, and x.
1.8.5