Struct xlifepp::BlockKrylovSchurState#

template<class ScalarType, class MulVec>
struct BlockKrylovSchurState

Collaboration diagram for xlifepp::BlockKrylovSchurState:

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 MulVec >::StoredType >" tooltip="CheckingPolicy< StoragePolicy< const MulVec >::StoredType >"] "14" [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 MulVec >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< const MulVec >::InitPointerType >"] "13" [label="OwnershipPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::InitPointerType >" tooltip="OwnershipPolicy< StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >::InitPointerType >"] "2" [label="xlifepp::SmartPtr< const MulVec >" tooltip="xlifepp::SmartPtr< const MulVec >"] "11" [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 MulVec >" tooltip="StoragePolicy< const MulVec >"] "12" [label="StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >" tooltip="StoragePolicy< const xlifepp::MatrixEigenDense< ScalarType > >"] "1" [label="xlifepp::BlockKrylovSchurState< ScalarType, MulVec >" tooltip="xlifepp::BlockKrylovSchurState< ScalarType, MulVec >" 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"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "11" [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 BlockKrylovSchur state variables.

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

Public Members

int curDim#

The current dimension of the reduction.

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

SmartPtr<const MatrixEigenDense<ScalarType>> H#

The current Hessenberg matrix.

The curDim by curDim leading submatrix of H is the projection of problem->getOperator() by the first curDim vectors in V.

SmartPtr<const MatrixEigenDense<ScalarType>> Q#

The current Schur vectors of the valid part of H.

SmartPtr<const MatrixEigenDense<ScalarType>> S#

The current Schur form reduction of the valid part of H.

SmartPtr<const MulVec> V#

The current Krylov basis.