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 (CGIterationState< ScalarType, MV > &) |
Initialize the solver to an iterate, providing a complete state. More... | |
void | initialize () |
Initialize the solver with the initial vectors from the linear problem or random data. More... | |
CGIterationState< ScalarType, MV > | getState () const |
Get the current state of the linear solver. More... | |
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... | |
Public Member Functions inherited from Belos::CGIteration< ScalarType, MV, OP > | |
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... | |
Public Member Functions inherited from Belos::Iteration< ScalarType, MV, OP > | |
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 82 of file BelosBlockCGIter.hpp.
typedef MultiVecTraits<ScalarType,MV> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MVT |
Definition at line 84 of file BelosBlockCGIter.hpp.
typedef OperatorTraits<ScalarType,MV,OP> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::OPT |
Definition at line 85 of file BelosBlockCGIter.hpp.
typedef Teuchos::ScalarTraits<ScalarType> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::SCT |
Definition at line 86 of file BelosBlockCGIter.hpp.
typedef SCT::magnitudeType Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MagnitudeType |
Definition at line 87 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 89 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Definition at line 98 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 100 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Initialize the solver to an iterate, providing a complete state.
The CGIteration contains a certain amount of state, consisting of the current residual, preconditioned residual, and decent direction.
initialize() gives the user the opportunity to manually set these, although only the current unpreconditioned residual is required.
true
(see post-conditions of isInitialize())newstate
which directly points to the multivectors in the solver, the data is not copied. Implements Belos::CGIteration< ScalarType, MV, OP >.
Definition at line 104 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 108 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 112 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current iteration count.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 116 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Reset the iteration count to iter.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 120 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 125 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current update to the linear system.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 129 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get a constant reference to the linear problem.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 133 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 137 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 141 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
States whether the solver has been initialized or not.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 145 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 149 of file BelosBlockCGIter.hpp.