Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Types | List of all members
Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP > Class Template Reference

#include <Belos_PseudoBlockCGIter_MP_Vector.hpp>

Inherits CGIteration< Sacado::MP::Vector< Storage >, MV, OP >.

Public Types

typedef Sacado::MP::Vector< StorageScalarType
 
typedef MultiVecTraits< ScalarType, MV > MVT
 
typedef OperatorTraits< ScalarType, MV, OP > OPT
 
typedef Teuchos::ScalarTraits< ScalarTypeSCT
 
typedef SCT::magnitudeType MagnitudeType
 
typedef Teuchos::ScalarTraits< typename Storage::value_type > SVT
 

Accessor methods

const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > lp_
 
const Teuchos::RCP< OutputManager< ScalarType > > om_
 
const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > stest_
 
int numRHS_
 
bool initialized_
 
int iter_
 
bool assertPositiveDefiniteness_
 
Teuchos::ArrayRCP< MagnitudeTypediag_
 
Teuchos::ArrayRCP< MagnitudeTypeoffdiag_
 
int numEntriesForCondEst_
 
bool doCondEst_
 
Teuchos::RCP< MV > R_
 
Teuchos::RCP< MV > Z_
 
Teuchos::RCP< MV > P_
 
Teuchos::RCP< MV > AP_
 
SVT::magnitudeType breakDownTol_
 
const LinearProblem< ScalarType, MV, OP > & getProblem () const
 Get a constant reference to the linear problem.
 
int getBlockSize () const
 Get the blocksize to be used by the iterative solver in solving this linear problem.
 
void setBlockSize (int blockSize)
 Set the blocksize.
 
bool isInitialized ()
 States whether the solver has been initialized or not.
 
void setDoCondEst (bool val)
 Sets whether or not to store the diagonal for condition estimation.
 
Teuchos::ArrayView< MagnitudeTypegetDiag ()
 Gets the diagonal for condition estimation.
 
Teuchos::ArrayView< MagnitudeTypegetOffDiag ()
 Gets the off-diagonal for condition estimation.
 

Constructors/Destructor

 PseudoBlockCGIter (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, Teuchos::ParameterList &params)
 PseudoBlockCGIter constructor with linear problem, solver utilities, and parameter list of solver options.
 
virtual ~PseudoBlockCGIter ()
 Destructor.
 

Solver methods

void iterate ()
 This method performs CG iterations on each linear system until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown).
 
void initializeCG (CGIterationState< ScalarType, MV > &newstate)
 Initialize the solver to an iterate, providing a complete state.
 
void initialize ()
 Initialize the solver with the initial vectors from the linear problem or random data.
 
CGIterationState< ScalarType, MV > getState () const
 Get the current state of the linear solver.
 

Status methods

int getNumIters () const
 Get the current iteration count.
 
void resetNumIters (int iter=0)
 Reset the iteration count.
 
Teuchos::RCP< const MV > getNativeResiduals (std::vector< MagnitudeType > *norms) const
 
Teuchos::RCP< MV > getCurrentUpdate () const
 Get the current update to the linear system.
 

Detailed Description

template<class Storage, class MV, class OP>
class Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >

Definition at line 74 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

Member Typedef Documentation

◆ ScalarType

template<class Storage , class MV , class OP >
typedef Sacado::MP::Vector<Storage> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::ScalarType

Definition at line 82 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ MVT

template<class Storage , class MV , class OP >
typedef MultiVecTraits<ScalarType,MV> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::MVT

Definition at line 83 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ OPT

template<class Storage , class MV , class OP >
typedef OperatorTraits<ScalarType,MV,OP> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::OPT

Definition at line 84 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ SCT

template<class Storage , class MV , class OP >
typedef Teuchos::ScalarTraits<ScalarType> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::SCT

Definition at line 85 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ MagnitudeType

template<class Storage , class MV , class OP >
typedef SCT::magnitudeType Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::MagnitudeType

Definition at line 86 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ SVT

template<class Storage , class MV , class OP >
typedef Teuchos::ScalarTraits<typename Storage::value_type> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::SVT

Definition at line 87 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

Constructor & Destructor Documentation

◆ PseudoBlockCGIter()

template<class Storage , class MV , class OP >
Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::PseudoBlockCGIter ( const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &  problem,
const Teuchos::RCP< OutputManager< ScalarType > > &  printer,
const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &  tester,
Teuchos::ParameterList &  params 
)

PseudoBlockCGIter constructor with linear problem, solver utilities, and parameter list of solver options.

This constructor takes pointers required by the linear solver, in addition to a parameter list of options for the linear solver.

◆ ~PseudoBlockCGIter()

template<class Storage , class MV , class OP >
virtual Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::~PseudoBlockCGIter ( )
inlinevirtual

Destructor.

Definition at line 103 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

Member Function Documentation

◆ iterate()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::iterate ( )

This method performs CG iterations on each linear system until the status test indicates the need to stop or an error occurs (in which case, an std::exception is thrown).

iterate() will first determine whether the solver is initialized; if not, it will call initialize() using default arguments. After initialization, the solver performs CG iterations until the status test evaluates as ::Passed, at which point the method returns to the caller.

The status test is queried at the beginning of the iteration.

◆ initializeCG()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::initializeCG ( CGIterationState< ScalarType, MV > &  newstate)

Initialize the solver to an iterate, providing a complete state.

The PseudoBlockCGIter contains a certain amount of state, consisting of the current direction vectors and residuals.

initialize() gives the user the opportunity to manually set these, although this must be done with caution, abiding by the rules given below.

Postcondition
isInitialized() == true (see post-conditions of isInitialize())

The user has the option of specifying any component of the state using initialize(). However, these arguments are assumed to match the post-conditions specified under isInitialized(). Any necessary component of the state not given to initialize() will be generated.

Note
For any pointer in newstate which directly points to the multivectors in the solver, the data is not copied.

◆ initialize()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::initialize ( )
inline

Initialize the solver with the initial vectors from the linear problem or random data.

Definition at line 150 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getState()

template<class Storage , class MV , class OP >
CGIterationState< ScalarType, MV > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getState ( ) const
inline

Get the current state of the linear solver.

The data is only valid if isInitialized() == true.

Returns
A CGIterationState object containing const pointers to the current solver state.

Definition at line 163 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getNumIters()

template<class Storage , class MV , class OP >
int Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getNumIters ( ) const
inline

Get the current iteration count.

Definition at line 179 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ resetNumIters()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::resetNumIters ( int  iter = 0)
inline

Reset the iteration count.

Definition at line 182 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getNativeResiduals()

template<class Storage , class MV , class OP >
Teuchos::RCP< const MV > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getNativeResiduals ( std::vector< MagnitudeType > *  norms) const
inline

Get the norms of the residuals native to the solver.

Returns
A std::vector of length blockSize containing the native residuals.

Definition at line 186 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getCurrentUpdate()

template<class Storage , class MV , class OP >
Teuchos::RCP< MV > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getCurrentUpdate ( ) const
inline

Get the current update to the linear system.

Note
This method returns a null pointer because the linear problem is current.

Definition at line 191 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getProblem()

template<class Storage , class MV , class OP >
const LinearProblem< ScalarType, MV, OP > & Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getProblem ( ) const
inline

Get a constant reference to the linear problem.

Definition at line 199 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getBlockSize()

template<class Storage , class MV , class OP >
int Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getBlockSize ( ) const
inline

Get the blocksize to be used by the iterative solver in solving this linear problem.

Definition at line 202 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ setBlockSize()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::setBlockSize ( int  blockSize)
inline

Set the blocksize.

Definition at line 205 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ isInitialized()

template<class Storage , class MV , class OP >
bool Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::isInitialized ( )
inline

States whether the solver has been initialized or not.

Definition at line 211 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ setDoCondEst()

template<class Storage , class MV , class OP >
void Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::setDoCondEst ( bool  val)
inline

Sets whether or not to store the diagonal for condition estimation.

Definition at line 216 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getDiag()

template<class Storage , class MV , class OP >
Teuchos::ArrayView< MagnitudeType > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getDiag ( )
inline

Gets the diagonal for condition estimation.

Definition at line 219 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ getOffDiag()

template<class Storage , class MV , class OP >
Teuchos::ArrayView< MagnitudeType > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::getOffDiag ( )
inline

Gets the off-diagonal for condition estimation.

Definition at line 232 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

Member Data Documentation

◆ lp_

template<class Storage , class MV , class OP >
const Teuchos::RCP<LinearProblem<ScalarType,MV,OP> > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::lp_
private

Definition at line 251 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ om_

template<class Storage , class MV , class OP >
const Teuchos::RCP<OutputManager<ScalarType> > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::om_
private

Definition at line 252 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ stest_

template<class Storage , class MV , class OP >
const Teuchos::RCP<StatusTest<ScalarType,MV,OP> > Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::stest_
private

Definition at line 253 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ numRHS_

template<class Storage , class MV , class OP >
int Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::numRHS_
private

Definition at line 259 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ initialized_

template<class Storage , class MV , class OP >
bool Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::initialized_
private

Definition at line 267 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ iter_

template<class Storage , class MV , class OP >
int Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::iter_
private

Definition at line 270 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ assertPositiveDefiniteness_

template<class Storage , class MV , class OP >
bool Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::assertPositiveDefiniteness_
private

Definition at line 273 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ diag_

template<class Storage , class MV , class OP >
Teuchos::ArrayRCP<MagnitudeType> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::diag_
private

Definition at line 276 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ offdiag_

template<class Storage , class MV , class OP >
Teuchos::ArrayRCP<MagnitudeType> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::offdiag_
private

Definition at line 276 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ numEntriesForCondEst_

template<class Storage , class MV , class OP >
int Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::numEntriesForCondEst_
private

Definition at line 277 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ doCondEst_

template<class Storage , class MV , class OP >
bool Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::doCondEst_
private

Definition at line 278 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ R_

template<class Storage , class MV , class OP >
Teuchos::RCP<MV> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::R_
private

Definition at line 284 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ Z_

template<class Storage , class MV , class OP >
Teuchos::RCP<MV> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::Z_
private

Definition at line 287 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ P_

template<class Storage , class MV , class OP >
Teuchos::RCP<MV> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::P_
private

Definition at line 290 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ AP_

template<class Storage , class MV , class OP >
Teuchos::RCP<MV> Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::AP_
private

Definition at line 293 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.

◆ breakDownTol_

template<class Storage , class MV , class OP >
SVT::magnitudeType Belos::PseudoBlockCGIter< Sacado::MP::Vector< Storage >, MV, OP >::breakDownTol_
private

Definition at line 296 of file Belos_PseudoBlockCGIter_MP_Vector.hpp.


The documentation for this class was generated from the following file: