Belos
Version of the Day
|
Stub implementation of BlockCGIter, for ScalarType types for which Teuchos::LAPACK does NOT have a valid implementation. More...
#include <BelosBlockCGIter.hpp>
Public Types | |
typedef MultiVecTraits < ScalarType, MV > | MVT |
typedef OperatorTraits < ScalarType, MV, OP > | OPT |
typedef Teuchos::ScalarTraits < ScalarType > | SCT |
typedef SCT::magnitudeType | MagnitudeType |
Public Member Functions | |
BlockCGIter (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &, const Teuchos::RCP< OutputManager< ScalarType > > &, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &, const Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > &, Teuchos::ParameterList &) | |
virtual | ~BlockCGIter () |
void | iterate () |
This method performs linear solver iterations until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown). More... | |
void | initializeCG (Teuchos::RCP< BlockCGIterationState< ScalarType, MV > >, Teuchos::RCP< MV >) |
void | initialize () |
Initialize the solver with the initial vectors from the linear problem or random data. More... | |
Teuchos::RCP < CGIterationStateBase < ScalarType, MV > > | getState () const |
Get the current state of the linear solver. More... | |
void | setState (Teuchos::RCP< CGIterationStateBase< ScalarType, MV > > state) |
int | getNumIters () const |
Get the current iteration count. More... | |
void | resetNumIters (int iter=0) |
Reset the iteration count to iter. More... | |
Teuchos::RCP< const MV > | getNativeResiduals (std::vector< MagnitudeType > *) const |
Teuchos::RCP< MV > | getCurrentUpdate () const |
Get the current update to the linear system. More... | |
const LinearProblem < ScalarType, MV, OP > & | getProblem () const |
Get a constant reference to the linear problem. More... | |
int | getBlockSize () const |
Get the blocksize to be used by the iterative solver in solving this linear problem. More... | |
void | setBlockSize (int blockSize) |
Set the blocksize to be used by the iterative solver in solving this linear problem. More... | |
bool | isInitialized () |
States whether the solver has been initialized or not. More... | |
void | setDoCondEst (bool val) |
Sets whether or not to store the diagonal for condition estimation. More... | |
![]() | |
virtual Teuchos::ArrayView < typename Teuchos::ScalarTraits < ScalarType >::magnitudeType > | getDiag ()=0 |
Gets the diagonal for condition estimation. More... | |
virtual Teuchos::ArrayView < typename Teuchos::ScalarTraits < ScalarType >::magnitudeType > | getOffDiag ()=0 |
Gets the off-diagonal for condition estimation. More... | |
virtual void | initializeCG (Teuchos::RCP< CGIterationStateBase< ScalarType, MV > > newstate, Teuchos::RCP< MV > R_0)=0 |
Initialize the solver to an iterate, providing a complete state. More... | |
![]() | |
Iteration () | |
Default Constructor. More... | |
virtual | ~Iteration () |
Destructor. More... | |
virtual Teuchos::RCP< const MV > | getNativeResiduals (std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > *norms) const =0 |
Get the residuals native to the solver. More... | |
Stub implementation of BlockCGIter, for ScalarType types for which Teuchos::LAPACK does NOT have a valid implementation.
Implementation of the block preconditioned Conjugate Gradient (CG) iteration.
Definition at line 85 of file BelosBlockCGIter.hpp.
typedef MultiVecTraits<ScalarType,MV> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MVT |
Definition at line 87 of file BelosBlockCGIter.hpp.
typedef OperatorTraits<ScalarType,MV,OP> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::OPT |
Definition at line 88 of file BelosBlockCGIter.hpp.
typedef Teuchos::ScalarTraits<ScalarType> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::SCT |
Definition at line 89 of file BelosBlockCGIter.hpp.
typedef SCT::magnitudeType Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MagnitudeType |
Definition at line 90 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 92 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Definition at line 101 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
This method performs linear solver iterations until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown).
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 103 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 107 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Initialize the solver with the initial vectors from the linear problem or random data.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 111 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current state of the linear solver.
The data is only valid if isInitialized() == true
.
Implements Belos::CGIteration< ScalarType, MV, OP >.
Definition at line 115 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Implements Belos::CGIteration< ScalarType, MV, OP >.
Definition at line 119 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current iteration count.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 123 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Reset the iteration count to iter.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 127 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 132 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current update to the linear system.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 136 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get a constant reference to the linear problem.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 140 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the blocksize to be used by the iterative solver in solving this linear problem.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 144 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Set the blocksize to be used by the iterative solver in solving this linear problem.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 148 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
States whether the solver has been initialized or not.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 152 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Sets whether or not to store the diagonal for condition estimation.
Implements Belos::CGIteration< ScalarType, MV, OP >.
Definition at line 156 of file BelosBlockCGIter.hpp.