#include <NOX_LAPACK_LinearSolver.H>
Inheritance diagram for NOX::LAPACK::LinearSolver< T >:
Public Member Functions | |
| LinearSolver (int n) | |
| Constructor. | |
| LinearSolver (const LinearSolver< T > &s) | |
| Copy constructor. | |
| ~LinearSolver () | |
| Destructor. | |
| LinearSolver & | operator= (const LinearSolver< T > &s) |
| Assignment. | |
| Matrix< T > & | getMatrix () |
| Return matrix. | |
| const Matrix< T > & | getMatrix () const |
| Return matrix. | |
| void | reset () |
| Reset. | |
| void | apply (bool trans, int ncols, const T *input, T *output) const |
| Apply matrix. | |
| bool | solve (bool trans, int ncols, T *output) |
| Solve inverse. | |
Protected Attributes | |
| Matrix< T > | mat |
| Matrix. | |
| Matrix< T > | lu |
| LU factorization of matrix. | |
| std::vector< int > | pivots |
| Pivots. | |
| bool | isValidLU |
| Is LU factorization valid. | |
| Teuchos::BLAS< int, T > | blas |
| BLAS wrappers. | |
| Teuchos::LAPACK< int, T > | lapack |
| LAPACK wrappers. | |
This class provides a simple linear solver class that stores a NOX::LAPACK::Matrix and provides routines to apply the matrix and solve it using BLAS and LAPACK routines. It is templated so that it can be used to solve both real and complex matrices. It also stores an LU factorization of the matrix so repeated solves are more efficient. The group should signal that the matrix has changed by calling reset().
|
||||||||||||||||||||||||
|
Apply matrix.
Set |
|
|||||||||
|
Reset. Resets the LU factorization indicating the matrix is updated. |
|
||||||||||||||||||||
|
Solve inverse.
Set |
1.3.9.1