Struct xlifepp::BlockDavidsonState#

template<class ScalarType, class MV>
struct BlockDavidsonState

Collaboration diagram for xlifepp::BlockDavidsonState:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "10" [label="CheckingPolicy< StoragePolicy< T >::StoredType >" tooltip="CheckingPolicy< StoragePolicy< T >::StoredType >"] "5" [label="CheckingPolicy< StoragePolicy< const MV >::StoredType >" tooltip="CheckingPolicy< StoragePolicy< const MV >::StoredType >"] "14" [label="CheckingPolicy< StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >::StoredType >" tooltip="CheckingPolicy< StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >::StoredType >"] "18" [label="CheckingPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::StoredType >" tooltip="CheckingPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::StoredType >"] "6" [label="ConversionPolicy" tooltip="ConversionPolicy"] "9" [label="OwnershipPolicy< StoragePolicy< T >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< T >::InitPointerType >"] "4" [label="OwnershipPolicy< StoragePolicy< const MV >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< const MV >::InitPointerType >"] "13" [label="OwnershipPolicy< StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >::InitPointerType >"] "17" [label="OwnershipPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::InitPointerType >"] "2" [label="xlifepp::SmartPtr< const MV >" tooltip="xlifepp::SmartPtr< const MV >"] "11" [label="xlifepp::SmartPtr< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >" tooltip="xlifepp::SmartPtr< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >"] "15" [label="xlifepp::SmartPtr< const xlifepp::MatrixEigenDense< ScalarType > >" tooltip="xlifepp::SmartPtr< const xlifepp::MatrixEigenDense< ScalarType > >"] "8" [label="StoragePolicy< T >" tooltip="StoragePolicy< T >"] "3" [label="StoragePolicy< const MV >" tooltip="StoragePolicy< const MV >"] "12" [label="StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >" tooltip="StoragePolicy< const std::vector< typename xlifepp::NumTraits< ScalarType >::RealScalar > >"] "16" [label="StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >" tooltip="StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >"] "1" [label="xlifepp::BlockDavidsonState< ScalarType, MV >" tooltip="xlifepp::BlockDavidsonState< ScalarType, MV >" fillcolor="#BFBFBF"] "7" [label="xlifepp::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >" tooltip="xlifepp::SmartPtr< T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy >"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "4" [dir=forward tooltip="public-inheritance"] "2" -> "5" [dir=forward tooltip="public-inheritance"] "2" -> "6" [dir=forward tooltip="public-inheritance"] "2" -> "7" [dir=forward tooltip="template-instance"] "11" -> "12" [dir=forward tooltip="public-inheritance"] "11" -> "13" [dir=forward tooltip="public-inheritance"] "11" -> "14" [dir=forward tooltip="public-inheritance"] "11" -> "6" [dir=forward tooltip="public-inheritance"] "11" -> "7" [dir=forward tooltip="template-instance"] "15" -> "16" [dir=forward tooltip="public-inheritance"] "15" -> "17" [dir=forward tooltip="public-inheritance"] "15" -> "18" [dir=forward tooltip="public-inheritance"] "15" -> "6" [dir=forward tooltip="public-inheritance"] "15" -> "7" [dir=forward tooltip="template-instance"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "11" [dir=forward tooltip="usage"] "1" -> "15" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="public-inheritance"] "7" -> "9" [dir=forward tooltip="public-inheritance"] "7" -> "10" [dir=forward tooltip="public-inheritance"] "7" -> "6" [dir=forward tooltip="public-inheritance"] }

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.