iterative-solver 0.0
 
Loading...
Searching...
No Matches
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.
 
virtual void erase (size_t i)=0
 Removes parameter i from the full subspace.
 
virtual void eraseq (size_t i)=0
 Removes parameter i from Q subspace.
 
virtual void erasep (size_t i)=0
 Removes parameter i from P subspace.
 
virtual void erased (size_t i)=0
 Removes parameter i from D subspace.
 
virtual void update_pspace (const CVecRef< P > &params, const array::Span< value_type > &pp_action_matrix)=0
 Adds parameters to the P space.
 
virtual void update_qspace (const CVecRef< R > &params, const CVecRef< R > &actions)=0
 Adds parameters to the Q space.
 
virtual void update_dspace (VecRef< Q > &params, VecRef< Q > &actions)=0
 Updates D space with the new parameters.
 
virtual VecRef< P > paramsp ()=0
 
virtual VecRef< Q > paramsq ()=0
 
virtual VecRef< Q > actionsq ()=0
 
virtual VecRef< Q > paramsd ()=0
 
virtual VecRef< Q > actionsd ()=0
 
virtual CVecRef< P > paramsp () const =0
 
virtual CVecRef< Q > paramsq () const =0
 
virtual CVecRef< Q > actionsq () const =0
 
virtual CVecRef< Q > paramsd () const =0
 
virtual CVecRef< Q > actionsd () const =0
 
virtual CVecRef< P > cparamsp () const =0
 
virtual CVecRef< Q > cparamsq () const =0
 
virtual CVecRef< Q > cactionsq () const =0
 
virtual CVecRef< Q > cparamsd () const =0
 
virtual CVecRef< Q > cactionsd () const =0
 
virtual const Dimensions & dimensions () const =0
 
virtual void set_logger (std::shared_ptr< Logger > logger)=0
 

Public Attributes

SubspaceData< value_type > data
 Equation data in the subspace.
 

Member Typedef Documentation

◆ P

◆ Q

◆ 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()

Member Function Documentation

◆ actionsd() [1/2]

◆ actionsd() [2/2]

◆ actionsq() [1/2]

◆ actionsq() [2/2]

◆ cactionsd()

◆ cactionsq()

◆ cparamsd()

◆ cparamsp()

◆ cparamsq()

◆ dimensions()

◆ 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]

◆ paramsd() [2/2]

◆ paramsp() [1/2]

◆ paramsp() [2/2]

◆ paramsq() [1/2]

◆ paramsq() [2/2]

◆ set_logger()

template<class RT , class QT , class PT >
virtual void molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::set_logger ( std::shared_ptr< Logger >  logger)
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

Equation data in the subspace.