iterative-solver 0.0
molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT > Class Template Referenceabstract

Full subspace. More...

#include <IXSpace.h>

Detailed Description

template<class RT, class QT, class PT>
class molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >

Full subspace.

Public Types

using R = RT
 
using Q = QT
 
using P = PT
 
using value_type = typename array::ArrayHandler< R, R >::value_type
 
using value_type_abs = typename array::ArrayHandler< R, R >::value_type_abs
 

Public Member Functions

 IXSpace ()=default
 
virtual ~IXSpace ()=default
 
size_t size () const
 Number of vectors forming the subspace. More...
 
virtual void erase (size_t i)=0
 Removes parameter i from the full subspace. More...
 
virtual void eraseq (size_t i)=0
 Removes parameter i from Q subspace. More...
 
virtual void erasep (size_t i)=0
 Removes parameter i from P subspace. More...
 
virtual void erased (size_t i)=0
 Removes parameter i from D subspace. More...
 
virtual void update_pspace (const CVecRef< P > &params, const array::Span< value_type > &pp_action_matrix)=0
 Adds parameters to the P space. More...
 
virtual void update_qspace (const CVecRef< R > &params, const CVecRef< R > &actions)=0
 Adds parameters to the Q space. More...
 
virtual void update_dspace (VecRef< Q > &params, VecRef< Q > &actions)=0
 Updates D space with the new parameters. More...
 
virtual VecRef< Pparamsp ()=0
 
virtual VecRef< Qparamsq ()=0
 
virtual VecRef< Qactionsq ()=0
 
virtual VecRef< Qparamsd ()=0
 
virtual VecRef< Qactionsd ()=0
 
virtual CVecRef< Pparamsp () const =0
 
virtual CVecRef< Qparamsq () const =0
 
virtual CVecRef< Qactionsq () const =0
 
virtual CVecRef< Qparamsd () const =0
 
virtual CVecRef< Qactionsd () const =0
 
virtual CVecRef< Pcparamsp () const =0
 
virtual CVecRef< Qcparamsq () const =0
 
virtual CVecRef< Qcactionsq () const =0
 
virtual CVecRef< Qcparamsd () const =0
 
virtual CVecRef< Qcactionsd () const =0
 
virtual const Dimensionsdimensions () const =0
 

Public Attributes

SubspaceData data
 Equation data in the subspace. More...
 

Member Typedef Documentation

◆ P

template<class RT , class QT , class PT >
using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::P = PT

◆ Q

template<class RT , class QT , class PT >
using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::Q = QT

◆ R

template<class RT , class QT , class PT >
using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::R = RT

◆ value_type

template<class RT , class QT , class PT >
using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::value_type = typename array::ArrayHandler<R, R>::value_type

◆ value_type_abs

template<class RT , class QT , class PT >
using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::value_type_abs = typename array::ArrayHandler<R, R>::value_type_abs

Constructor & Destructor Documentation

◆ IXSpace()

template<class RT , class QT , class PT >
molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::IXSpace ( )
default

◆ ~IXSpace()

template<class RT , class QT , class PT >
virtual molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::~IXSpace ( )
virtualdefault

Member Function Documentation

◆ actionsd() [1/2]

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::actionsd ( ) const
pure virtual

◆ actionsd() [2/2]

template<class RT , class QT , class PT >
virtual VecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::actionsd ( )
pure virtual

◆ actionsq() [1/2]

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::actionsq ( ) const
pure virtual

◆ actionsq() [2/2]

template<class RT , class QT , class PT >
virtual VecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::actionsq ( )
pure virtual

◆ cactionsd()

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::cactionsd ( ) const
pure virtual

◆ cactionsq()

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::cactionsq ( ) const
pure virtual

◆ cparamsd()

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::cparamsd ( ) const
pure virtual

◆ cparamsp()

template<class RT , class QT , class PT >
virtual CVecRef< P > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::cparamsp ( ) const
pure virtual

◆ cparamsq()

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::cparamsq ( ) const
pure virtual

◆ dimensions()

template<class RT , class QT , class PT >
virtual const Dimensions & molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::dimensions ( ) const
pure virtual

◆ erase()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::erase ( size_t  i)
pure virtual

Removes parameter i from the full subspace.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ erased()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::erased ( size_t  i)
pure virtual

Removes parameter i from D subspace.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ erasep()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::erasep ( size_t  i)
pure virtual

Removes parameter i from P subspace.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ eraseq()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::eraseq ( size_t  i)
pure virtual

Removes parameter i from Q subspace.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ paramsd() [1/2]

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsd ( ) const
pure virtual

◆ paramsd() [2/2]

template<class RT , class QT , class PT >
virtual VecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsd ( )
pure virtual

◆ paramsp() [1/2]

template<class RT , class QT , class PT >
virtual CVecRef< P > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsp ( ) const
pure virtual

◆ paramsp() [2/2]

template<class RT , class QT , class PT >
virtual VecRef< P > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsp ( )
pure virtual

◆ paramsq() [1/2]

template<class RT , class QT , class PT >
virtual CVecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsq ( ) const
pure virtual

◆ paramsq() [2/2]

template<class RT , class QT , class PT >
virtual VecRef< Q > molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::paramsq ( )
pure virtual

◆ size()

template<class RT , class QT , class PT >
size_t molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::size ( ) const
inline

Number of vectors forming the subspace.

◆ update_dspace()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::update_dspace ( VecRef< Q > &  params,
VecRef< Q > &  actions 
)
pure virtual

Updates D space with the new parameters.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ update_pspace()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::update_pspace ( const CVecRef< P > &  params,
const array::Span< value_type > &  pp_action_matrix 
)
pure virtual

Adds parameters to the P space.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

◆ update_qspace()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::update_qspace ( const CVecRef< R > &  params,
const CVecRef< R > &  actions 
)
pure virtual

Adds parameters to the Q space.

Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.

Member Data Documentation

◆ data

template<class RT , class QT , class PT >
SubspaceData molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::data

Equation data in the subspace.