So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
|
Solves ( m_A * x
= b
) using the Conjugate Gradient Squared algorithm.
More...
#include <KrylovMethods.hpp>
Public Types | |
typedef KrylovSolverBase < solvers::CGS, Matrix, Preconditioner, Traits > | Base |
typedef Traits::Scalar | Scalar |
typedef CGS< Matrix, Preconditioner, Traits > | Derived |
typedef Signal< unsigned, Scalar > | SignalType |
enum | |
typedef BlockTraits< typename LinearSolverTraits< CGS < Matrix, Preconditioner, Traits > >::MatrixType > | UnderlyingBlockTraits |
Public Member Functions | |
CGS (const Matrix &A, unsigned maxIters, Scalar tol=NumTraits< Scalar >::epsilon(), const Preconditioner *P=(static_cast< const Preconditioner * >(0)), const typename Base::SignalType *callback=(static_cast< const typename Base::SignalType * >(0))) | |
template<typename RhsT , typename ResT > | |
Scalar | vectorSolve (const RhsT &b, ResT x) const |
LinearSolverTraits< Derived > ::template Result< RhsT > ::Type | solve (const RhsT &rhs) const |
Returns the solution x of the linear system M * x = rhs . | |
Scalar | solve (const RhsT &rhs, ResT &x) const |
Returns the solution x of the linear system M * x = rhs . | |
Derived & | parallelizeRhs (bool parallelize=true) |
Whether to process multiple rhs in parallel. | |
Derived & | enableResCaching (bool doCache=true) |
Whether to enable caching of solve(rhs) result for warmstarting purposes. More... | |
const CGS< Matrix, Preconditioner, Traits > & | derived () const |
CGS< Matrix, Preconditioner, Traits > & | derived () |
Public Attributes | |
const Matrix * | m_A |
const Preconditioner * | m_P |
const SignalType * | m_callback |
Scalar | m_tol |
unsigned | m_maxIters |
Protected Attributes | |
bool | m_parallelizeRhs |
bool | m_enableResCaching |
Solves ( m_A * x
= b
) using the Conjugate Gradient Squared algorithm.
Works for non-symmetric linear systems. Convergence not guaranteed. Supposedly faster convergence than BiCG when converging.
Matrix-vector mults/iter: 2 Preconditionner calls/iter: 2 Storage requirements: 7n
|
inherited |
Whether to enable caching of solve(rhs) result for warmstarting purposes.