iterative-solver 0.0
molpro::linalg::itsolv::subspace::DSpace< Qt > Class Template Reference

D space stores complement of P+Q+R subspace that is necessary to reproduce the previous solutions. More...

#include <DSpace.h>

Detailed Description

template<class Qt>
class molpro::linalg::itsolv::subspace::DSpace< Qt >

D space stores complement of P+Q+R subspace that is necessary to reproduce the previous solutions.

Public Types

using Q = Qt
 
using value_type = typename array::ArrayHandler< Q, Q >::value_type
 
using value_type_abs = typename array::ArrayHandler< Q, Q >::value_type_abs
 

Public Member Functions

 DSpace (std::shared_ptr< Logger > logger)
 
void update (VecRef< Q > &params, VecRef< Q > &actions)
 Clears current D space and moves params and action inside. More...
 
void clear ()
 
void erase (size_t i)
 Erases parameter i. More...
 
size_t size () const
 
VecRef< Qparams ()
 
CVecRef< Qparams () const
 
CVecRef< Qcparams () const
 
VecRef< Qactions ()
 
CVecRef< Qactions () const
 
CVecRef< Qcactions () const
 

Protected Attributes

std::shared_ptr< Loggerm_logger
 
std::vector< Qm_params
 D space parameters. More...
 
std::vector< Qm_actions
 D space actions. More...
 

Member Typedef Documentation

◆ Q

template<class Qt >
using molpro::linalg::itsolv::subspace::DSpace< Qt >::Q = Qt

◆ value_type

template<class Qt >
using molpro::linalg::itsolv::subspace::DSpace< Qt >::value_type = typename array::ArrayHandler<Q, Q>::value_type

◆ value_type_abs

template<class Qt >
using molpro::linalg::itsolv::subspace::DSpace< Qt >::value_type_abs = typename array::ArrayHandler<Q, Q>::value_type_abs

Constructor & Destructor Documentation

◆ DSpace()

template<class Qt >
molpro::linalg::itsolv::subspace::DSpace< Qt >::DSpace ( std::shared_ptr< Logger logger)
inlineexplicit

Member Function Documentation

◆ actions() [1/2]

template<class Qt >
VecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::actions ( )
inline

◆ actions() [2/2]

template<class Qt >
CVecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::actions ( ) const
inline

◆ cactions()

template<class Qt >
CVecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::cactions ( ) const
inline

◆ clear()

template<class Qt >
void molpro::linalg::itsolv::subspace::DSpace< Qt >::clear ( )
inline

◆ cparams()

template<class Qt >
CVecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::cparams ( ) const
inline

◆ erase()

template<class Qt >
void molpro::linalg::itsolv::subspace::DSpace< Qt >::erase ( size_t  i)
inline

Erases parameter i.

Parameters
iindex in the current space

◆ params() [1/2]

template<class Qt >
VecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::params ( )
inline

◆ params() [2/2]

template<class Qt >
CVecRef< Q > molpro::linalg::itsolv::subspace::DSpace< Qt >::params ( ) const
inline

◆ size()

template<class Qt >
size_t molpro::linalg::itsolv::subspace::DSpace< Qt >::size ( ) const
inline

◆ update()

template<class Qt >
void molpro::linalg::itsolv::subspace::DSpace< Qt >::update ( VecRef< Q > &  params,
VecRef< Q > &  actions 
)
inline

Clears current D space and moves params and action inside.

Member Data Documentation

◆ m_actions

template<class Qt >
std::vector<Q> molpro::linalg::itsolv::subspace::DSpace< Qt >::m_actions
protected

D space actions.

◆ m_logger

template<class Qt >
std::shared_ptr<Logger> molpro::linalg::itsolv::subspace::DSpace< Qt >::m_logger
protected

◆ m_params

template<class Qt >
std::vector<Q> molpro::linalg::itsolv::subspace::DSpace< Qt >::m_params
protected

D space parameters.