iterative-solver 0.0
 
Loading...
Searching...
No Matches
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 set_logger (std::shared_ptr< Logger > logger)
 Replaces the logger.
 
void update (VecRef< Q > &params, VecRef< Q > &actions, const VecRef< Q > &metric_actions={})
 Clears current D space and moves params and action, and any actions of the metric, inside.
 
void clear ()
 
void erase (size_t i)
 Erases parameter i.
 
size_t size () const
 
VecRef< Q > params ()
 
CVecRef< Q > params () const
 
CVecRef< Q > cparams () const
 
VecRef< Q > actions ()
 
CVecRef< Q > actions () const
 
CVecRef< Q > cactions () const
 
CVecRef< Q > cmetric_actions () const
 Actions of the metric, empty unless there is a metric.
 

Protected Attributes

std::shared_ptr< Logger > m_logger
 
std::vector< Q > m_params
 D space parameters.
 
std::vector< Q > m_actions
 D space actions.
 
std::vector< Q > m_metric_actions
 D space actions of the metric, empty unless there is a metric.
 

Member Typedef Documentation

◆ 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

◆ cmetric_actions()

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

Actions of the metric, empty unless there is a metric.

◆ 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

◆ set_logger()

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

Replaces the logger.

◆ 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,
const VecRef< Q > &  metric_actions = {} 
)
inline

Clears current D space and moves params and action, and any actions of the metric, 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_metric_actions

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

D space actions of the metric, empty unless there is a metric.

◆ m_params

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

D space parameters.