Iterative Solvers supporting block recursive matrix and vector classes at compile time. More...
![]() |
Iterative Solvers supporting block recursive matrix and vector classes at compile time.
The Iterative Solver Template Library applies generic programming in C++ to the domain of iterative solvers of linear systems stemming from finite element discretizations. Those discretizations exhibit a lot of structure, e.g:
Our matrix and vector interface supports a block recursive structure. Each sparse matrix entry can itself be either a sparse or a small dense matrix.
The solvers use this recursive block structure via template meta programming at compile time.
ISTL consists of the matrix and vector API and the solvers which use the Preconditioners preconditioners.
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply | ( | T * | x, | |
T * | b | |||
) | [inline, inherited] |
Apply SuperLu to C arrays.
References Dune::Matrix< T, A >::M(), mat, and Dune::Matrix< T, A >::N().
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::apply | ( | domain_type & | x, | |
range_type & | b, | |||
InverseOperatorResult & | res | |||
) | [inline, inherited] |
Apply inverse operator,.
x | The left hand side to store the result in. | |
b | The right hand side | |
res | Object to store the statistics about applying the operator. |
References Dune::Matrix< T, A >::M(), mat, and Dune::Matrix< T, A >::N().
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::free | ( | ) | [inline, inherited] |
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::setMatrix | ( | const Matrix & | mat | ) | [inline, inherited] |
Initialize data from given matrix.
References Dune::Matrix< T, A >::M(), mat, and Dune::Matrix< T, A >::N().
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::setSubMatrix | ( | const Matrix & | mat, | |
const S & | rowIndexSet | |||
) | [inline, inherited] |
References Dune::Matrix< T, A >::M(), mat, and Dune::Matrix< T, A >::N().
void Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::setVerbosity | ( | bool | v | ) | [inline, inherited] |
Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU | ( | ) | [inline, inherited] |
Empty default constructor.
Use setMatrix to tell SuperLU for what matrix it solves.
Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::SuperLU | ( | const Matrix & | mat, | |
bool | verbose = false | |||
) | [inline, explicit, inherited] |
Constructs the SuperLU solver.
During the construction the matrix will be decomposed. That means that in each apply call forward and backward substitutions take place (and no decomposition).
mat | The matrix of the system to solve. | |
verbose | If true some statistics are printed. |
Dune::SuperLU< BCRSMatrix< FieldMatrix< T, n, m >, A > >::~SuperLU | ( | ) | [inline, inherited] |
References Dune::Matrix< T, A >::M(), mat, and Dune::Matrix< T, A >::N().