Belos Package Browser (Single Doxygen Collection)
Development
|
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... | |
Private Member Functions | |
void | setStateSize () |
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 83 of file BelosBlockCGIter.hpp.
typedef MultiVecTraits<ScalarType,MV> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MVT |
Definition at line 85 of file BelosBlockCGIter.hpp.
typedef OperatorTraits<ScalarType,MV,OP> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::OPT |
Definition at line 86 of file BelosBlockCGIter.hpp.
typedef Teuchos::ScalarTraits<ScalarType> Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::SCT |
Definition at line 87 of file BelosBlockCGIter.hpp.
typedef SCT::magnitudeType Belos::BlockCGIter< ScalarType, MV, OP, lapackSupportsScalarType >::MagnitudeType |
Definition at line 88 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 90 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Definition at line 99 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 101 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 105 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 109 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 113 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current iteration count.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 117 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Reset the iteration count to iter.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 121 of file BelosBlockCGIter.hpp.
|
inline |
Definition at line 126 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get the current update to the linear system.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 130 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
Get a constant reference to the linear problem.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 134 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 138 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 142 of file BelosBlockCGIter.hpp.
|
inlinevirtual |
States whether the solver has been initialized or not.
Implements Belos::Iteration< ScalarType, MV, OP >.
Definition at line 146 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 150 of file BelosBlockCGIter.hpp.
|
inlineprivate |
Definition at line 156 of file BelosBlockCGIter.hpp.