Dune Core Modules (2.9.0)
Dune::SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > > Class Template Referenceabstract
The SPQR direct sparse solver for matrices of type BCRSMatrix. More...
#include <dune/istl/spqr.hh>
Public Types | |
| typedef Dune::BCRSMatrix< FieldMatrix< T, n, m >, A > | Matrix |
| The matrix type. | |
| typedef ISTL::Impl::BCCSMatrix< T, int > | SPQRMatrix |
| The corresponding SuperLU Matrix type. | |
| typedef ISTL::Impl::BCCSMatrixInitializer< BCRSMatrix< FieldMatrix< T, n, m >, A >, int > | MatrixInitializer |
| Type of an associated initializer class. | |
| typedef Dune::BlockVector< FieldVector< T, m >, typename std::allocator_traits< A >::template rebind_alloc< FieldVector< T, m > > > | domain_type |
| The type of the domain of the solver. | |
| typedef Dune::BlockVector< FieldVector< T, n >, typename std::allocator_traits< A >::template rebind_alloc< FieldVector< T, n > > > | range_type |
| The type of the range of the solver. | |
| typedef X::field_type | field_type |
| The field type of the operator. | |
| typedef FieldTraits< field_type >::real_type | real_type |
| The real type of the field type (is the same if using real numbers, but differs for std::complex) | |
| typedef Simd::Scalar< real_type > | scalar_real_type |
| scalar type underlying the field_type | |
Public Member Functions | |
| virtual SolverCategory::Category | category () const |
| Category of the solver (see SolverCategory::Category) | |
| SPQR (const Matrix &matrix, int verbose=0) | |
| Construct a solver object from a BCRSMatrix. More... | |
| SPQR (const Matrix &matrix, int verbose, bool) | |
| Constructor for compatibility with SuperLU standard constructor. More... | |
| SPQR (const Matrix &matrix, const ParameterTree &config) | |
| Constructs the SPQR solver. More... | |
| SPQR () | |
| Default constructor. | |
| virtual | ~SPQR () |
| Destructor. | |
| virtual void | apply (domain_type &x, range_type &b, InverseOperatorResult &res) |
| Apply inverse operator,. More... | |
| virtual void | apply (domain_type &x, range_type &b, double reduction, InverseOperatorResult &res) |
| apply inverse operator, with given convergence criteria. More... | |
| void | setMatrix (const Matrix &matrix) |
| Initialize data from given matrix. | |
| void | setVerbosity (int v) |
| Sets the verbosity level for the solver. More... | |
| SuiteSparseQR_factorization< T > * | getFactorization () |
| Return the matrix factorization. More... | |
| SPQRMatrix & | getInternalMatrix () |
| Return the column coppressed matrix. More... | |
| void | free () |
| Free allocated space. More... | |
| const char * | name () |
| Get method name. | |
| virtual void | apply (BlockVector< FieldVector< T, m >, std::allocator_traits< A >::template rebind_alloc< FieldVector< T, m > > > &x, BlockVector< FieldVector< T, n >, std::allocator_traits< A >::template rebind_alloc< FieldVector< T, n > > > &b, InverseOperatorResult &res)=0 |
| Apply inverse operator,. More... | |
| virtual void | apply (BlockVector< FieldVector< T, m >, std::allocator_traits< A >::template rebind_alloc< FieldVector< T, m > > > &x, BlockVector< FieldVector< T, n >, std::allocator_traits< A >::template rebind_alloc< FieldVector< T, n > > > &b, double reduction, InverseOperatorResult &res)=0 |
| apply inverse operator, with given convergence criteria. More... | |
Detailed Description
template<typename T, typename A, int n, int m>
class Dune::SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > >
class Dune::SPQR< BCRSMatrix< FieldMatrix< T, n, m >, A > >
The SPQR direct sparse solver for matrices of type BCRSMatrix.
Specialization for the Dune::BCRSMatrix. SPQR will always go double precision and supports complex numbers too (use std::complex<double> for that).
- Template Parameters
-
T Number type. Only double and std::complex<double> is supported A STL-compatible allocator type n Number of rows in a matrix block m Number of columns in a matrix block
- Note
- This will only work if dune-istl has been configured to use SPQR
Member Function Documentation
◆ apply() [1/2]
|
pure virtualinherited |
apply inverse operator, with given convergence criteria.
- Warning
- Right hand side b may be overwritten!
- Parameters
-
x The left hand side to store the result in. b The right hand side reduction The minimum defect reduction to achieve. res Object to store the statistics about applying the operator.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
◆ apply() [2/2]
|
pure virtualinherited |
Apply inverse operator,.
- Warning
- Note: right hand side b may be overwritten!
- Parameters
-
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.
- Exceptions
-
SolverAbort When the solver detects a problem and cannot continue
The documentation for this class was generated from the following file:
- dune/istl/spqr.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Jun 19, 23:17, 2026)