TBCI Numerical high perf. C++ Library  2.8.0
Macros | Functions
lapack_stdcplx.cpp File Reference

LU solvers for the Fortran versions of Matrices, wrappers to lapack routines (eigenvalue solvers ...) More...

#include "tbci/std_cplx.h"
#include "tbci/f_matrix.h"
#include "tbci/f_bandmatrix.h"
#include "tbci/lapack/lapack_lib.h"
Include dependency graph for lapack_stdcplx.cpp:

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__ complex
< double > > 
inv (const F_Matrix< CPLX__ complex< double > > &A, int overwriteA)
 
F_TMatrix< CPLX__ complex
< double > > 
lu_solve (const F_Matrix< CPLX__ complex< double > > &A, const F_Matrix< CPLX__ complex< 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__ complex< double > > &A, Vector< CPLX__ complex< double > > &EW)
 eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A More...
 
int eig (const F_Matrix< CPLX__ complex< double > > &A, Vector< CPLX__ complex< double > > &EW, F_Matrix< CPLX__ complex< double > > &EV)
 
int eig (const F_BandMatrix< CPLX__ complex< double > > &A, const F_BandMatrix< CPLX__ complex< double > > &B, double EW_min, double EW_max, Vector< double > &Eigenwerte, F_Matrix< CPLX__ complex< 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__ complex< double > > &A, Vector< double > &EW, F_Matrix< CPLX__ complex< double > > &EVec)
 complex hermitean More...
 
int eig (F_Matrix< CPLX__ complex< double > > A, Vector< double > &EW)
 

Detailed Description

LU solvers for the Fortran versions of Matrices, wrappers to lapack routines (eigenvalue solvers ...)

Definition in file lapack_stdcplx.cpp.

Macro Definition Documentation

#define LAPACK_INLINE   inline

Hack: Makes tbcilapack more self-contained.

Definition at line 10 of file lapack_stdcplx.cpp.

Function Documentation

int eig ( const F_Matrix< double > &  A,
Vector< double > &  EW 
)

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().

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__ complex< double > > &  A,
Vector< CPLX__ complex< double > > &  EW 
)

eigenvalues (and eigenvectors) A*EV=EW*EV of general double complex Matrix A

Definition at line 100 of file lapack_stdcplx.cpp.

References NEW, TBCIDELETE, and zgeev_().

int eig ( const F_Matrix< CPLX__ complex< double > > &  A,
Vector< CPLX__ complex< double > > &  EW,
F_Matrix< CPLX__ complex< double > > &  EV 
)

Definition at line 121 of file lapack_stdcplx.cpp.

References NEW, TBCIDELETE, and zgeev_().

int eig ( const F_BandMatrix< CPLX__ complex< double > > &  A,
const F_BandMatrix< CPLX__ complex< double > > &  B,
double  EW_min,
double  EW_max,
Vector< double > &  Eigenwerte,
F_Matrix< CPLX__ complex< double > > &  Eigenvectoren 
)

selected eigenvalues -vectors: A*EV=EW*B*EV of hermitean Matrix A, positive definite Matrix B

Definition at line 145 of file lapack_stdcplx.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__ complex< double > > &  A,
Vector< double > &  EW,
F_Matrix< CPLX__ complex< double > > &  EVec 
)

complex hermitean

Definition at line 266 of file lapack_stdcplx.cpp.

References BVector< T >::get_fortran_vector(), STD__, and zheev_().

int eig ( F_Matrix< CPLX__ complex< double > >  A,
Vector< double > &  EW 
)

Definition at line 294 of file lapack_stdcplx.cpp.

References BVector< T >::get_fortran_vector(), STD__, and zheev_().

F_TMatrix<double> inv ( const F_Matrix< double > &  A,
int  overwriteA 
)
F_TMatrix<CPLX__ complex<double> > inv ( const F_Matrix< CPLX__ complex< double > > &  A,
int  overwriteA 
)
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<CPLX__ complex<double> > lu_solve ( const F_Matrix< CPLX__ complex< double > > &  A,
const F_Matrix< CPLX__ complex< double > > &  B,
int  overwriteA 
)
NAMESPACE_TBCI TVector<double> lu_solve_expert ( const F_BandMatrix< double > &  A,
const Vector< double > &  B,
int  equi 
)