Struct xlifepp::BlockDavidsonState#

template<class ScalarType, class MV>
struct BlockDavidsonState

Structure to contain pointers to BlockDavidson state variables.

This struct is utilized by BlockDavidson::initialize() and BlockDavidson::getState().

Public Members

int curDim#

The current dimension of the solver.

This should always be equal to BlockDavdison::getCurSubspaceDim()

SmartPtr<const MV> H#

The current preconditioned residual vectors.

H is a pointer into V, and is only useful when BlockDavidson::iterate() throw a BlockDavidsonOrthoFailure exception.

SmartPtr<const MatrixEigenDense<ScalarType>> KK#

The current projected K matrix.

KK is of order BlockDavidson::getMaxSubspaceDim(), but only the principal submatrix of order curDim is meaningful. It is Hermitian in memory.

SmartPtr<const MV> KX#

The image of the current eigenvectors under K.

SmartPtr<const MV> MX#

The image of the current eigenvectors under M, or _smPtrNull if M was not specified.

SmartPtr<const MV> R#

The current residual vectors.

SmartPtr<const std::vector<typename NumTraits<ScalarType>::RealScalar>> T#

The current Ritz values. This vector is a copy of the internal data.

SmartPtr<const MV> V#

The basis for the Krylov space.

V has BlockDavidson::getMaxSubspaceDim() vectors, but only the first curDim are valid.

SmartPtr<const MV> X#

The current eigenvectors.