42#ifndef BELOS_CG_ITERATION_HPP
43#define BELOS_CG_ITERATION_HPP
62 template <
class ScalarType,
class MV>
66 Teuchos::RCP<const MV>
R;
69 Teuchos::RCP<const MV>
Z;
72 Teuchos::RCP<const MV>
P;
75 Teuchos::RCP<const MV>
AP;
78 P(Teuchos::null),
AP(Teuchos::null)
142template<
class ScalarType,
class MV,
class OP>
179 virtual Teuchos::ArrayView<typename Teuchos::ScalarTraits<ScalarType>::magnitudeType>
getDiag() = 0;
182 virtual Teuchos::ArrayView<typename Teuchos::ScalarTraits<ScalarType>::magnitudeType>
getOffDiag() = 0;
Belos header file which uses auto-configuration information to include necessary C++ headers.
Pure virtual base class which describes the basic interface to the linear solver iteration.
Collection of types and exceptions used within the Belos solvers.
Parent class to all Belos exceptions.
CGIterateFailure is thrown when the CGIteration object is unable to compute the next iterate in the C...
CGIterateFailure(const std::string &what_arg)
CGIterationInitFailure is thrown when the CGIteration object is unable to generate an initial iterate...
CGIterationInitFailure(const std::string &what_arg)
CGIterationLAPACKFailure is thrown when a nonzero return value is passed back from an LAPACK routine.
CGIterationLAPACKFailure(const std::string &what_arg)
CGIterationOrthoFailure is thrown when the CGIteration object is unable to compute independent direct...
CGIterationOrthoFailure(const std::string &what_arg)
virtual Teuchos::ArrayView< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > getOffDiag()=0
Gets the off-diagonal for condition estimation.
virtual void setDoCondEst(bool val)=0
Sets whether or not to store the diagonal for condition estimation.
virtual void initializeCG(CGIterationState< ScalarType, MV > &newstate)=0
Initialize the solver to an iterate, providing a complete state.
virtual CGIterationState< ScalarType, MV > getState() const =0
Get the current state of the linear solver.
virtual Teuchos::ArrayView< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > getDiag()=0
Gets the diagonal for condition estimation.
CGPositiveDefiniteFailure is thrown when the the CG 'alpha = p^H*A*P' value is less than zero,...
CGPositiveDefiniteFailure(const std::string &what_arg)
Structure to contain pointers to CGIteration state variables.
Teuchos::RCP< const MV > P
The current decent direction vector.
Teuchos::RCP< const MV > R
The current residual.
Teuchos::RCP< const MV > Z
The current preconditioned residual.
Teuchos::RCP< const MV > AP
The matrix A applied to current decent direction vector.