NUMCXX
0.13.20181108
Numerical library for small projects and teaching purposes
|
Lapack LU factorization class.
Definition at line 18 of file tsolver-lapacklu.hxx.
Public Member Functions | |
TSolverLapackLU (const std::shared_ptr< TMatrix< T >> pMatrix) | |
Object constructor, calls update() to obtain factorization. More... | |
TSolverLapackLU (const TMatrix< T > &Matrix) | |
Object constructor, calls update(Matrix) to obtain factorization. More... | |
void | update () |
Perform computation of LU factorization using actual state of matrix. More... | |
void | update (const TMatrix< T > &Matrix) |
Perform computation of LU factorization using actual state of matrix. More... | |
void | solve (TArray< T > &Sol, const TArray< T > &Rhs) const |
Solve LU factorized system. More... | |
void | solve (std::shared_ptr< TArray1< T >> Sol, const std::shared_ptr< TArray1< T >> Rhs) const |
Solve LU factorized system. More... | |
std::shared_ptr< TMatrix< T > > | calculate_inverse () |
Calculate inverse of matrix A from its LU factors. More... | |
TSolverLapackLU () | |
Default constructor for swig. More... | |
TMatrix< T > & | LU () |
TArray1< int > & | IPiv () |
template<> | |
void | update (const TMatrix< double > &Matrix) |
template<> | |
void | solve (TArray< double > &sol, const TArray< double > &rhs) const |
template<> | |
void | update (const TMatrix< float > &Matrix) |
template<> | |
void | solve (TArray< float > &sol, const TArray< float > &rhs) const |
template<> | |
std::shared_ptr< TMatrix< double > > | calculate_inverse () |
template<> | |
std::shared_ptr< TMatrix< float > > | calculate_inverse () |
Static Public Member Functions | |
static std::shared_ptr< TSolverLapackLU< T > > | create (const std::shared_ptr< TMatrix< T >> pMatrix) |
Static wrapper around constructor. More... | |
Private Attributes | |
const std::shared_ptr< TMatrix< T > > | pMatrix |
const std::shared_ptr< TMatrix< T > > | pLU |
const std::shared_ptr< TArray1< int > > | pIPiv |
|
inline |
Object constructor, calls update() to obtain factorization.
Definition at line 9 of file tsolver-lapacklu.ixx.
|
inline |
Object constructor, calls update(Matrix) to obtain factorization.
Definition at line 19 of file tsolver-lapacklu.ixx.
|
inline |
|
inlinestatic |
Static wrapper around constructor.
Definition at line 29 of file tsolver-lapacklu.ixx.
|
virtual |
Perform computation of LU factorization using actual state of matrix.
Uses dgetrf
from the LAPACK library (for T=double)
Reimplemented from numcxx::TLinSolver< T >.
Definition at line 95 of file tsolver-lapacklu.ixx.
void numcxx::TSolverLapackLU< T >::update | ( | const TMatrix< T > & | Matrix | ) |
Perform computation of LU factorization using actual state of matrix.
|
virtual |
Solve LU factorized system.
Uses dgetrs
from the LAPACK library (for T=double)
Reimplemented from numcxx::TLinSolver< T >.
|
inline |
Solve LU factorized system.
Definition at line 53 of file tsolver-lapacklu.hxx.
std::shared_ptr<TMatrix<T> > numcxx::TSolverLapackLU< T >::calculate_inverse | ( | ) |
Calculate inverse of matrix A from its LU factors.
|
inline |
Definition at line 64 of file tsolver-lapacklu.hxx.
|
inline |
Definition at line 65 of file tsolver-lapacklu.hxx.
|
inline |
Definition at line 46 of file tsolver-lapacklu.ixx.
|
inline |
Definition at line 61 of file tsolver-lapacklu.ixx.
|
inline |
Definition at line 79 of file tsolver-lapacklu.ixx.
|
inline |
Definition at line 104 of file tsolver-lapacklu.ixx.
|
inline |
Definition at line 124 of file tsolver-lapacklu.ixx.
|
inline |
Definition at line 147 of file tsolver-lapacklu.ixx.
|
private |
Definition at line 20 of file tsolver-lapacklu.hxx.
|
private |
Definition at line 21 of file tsolver-lapacklu.hxx.
|
private |
Definition at line 22 of file tsolver-lapacklu.hxx.