1#ifndef LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DSPACE_H
2#define LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DSPACE_H
6#include <molpro/linalg/array/ArrayHandler.h>
7#include <molpro/linalg/itsolv/Logger.h>
8#include <molpro/linalg/itsolv/subspace/Matrix.h>
9#include <molpro/linalg/itsolv/wrap.h>
23 explicit DSpace(std::shared_ptr<Logger> logger) :
m_logger(std::move(logger)) {}
29 for (
size_t i = 0; i <
params.size(); ++i) {
decltype(value_type_L{} *value_type_R{}) value_type
Definition: ArrayHandler.h:181
decltype(check_abs< value_type >()) value_type_abs
Definition: ArrayHandler.h:182
D space stores complement of P+Q+R subspace that is necessary to reproduce the previous solutions.
Definition: DSpace.h:17
CVecRef< Q > cparams() const
Definition: DSpace.h:51
Qt Q
Definition: DSpace.h:19
std::shared_ptr< Logger > m_logger
Definition: DSpace.h:58
std::vector< Q > m_params
D space parameters.
Definition: DSpace.h:59
CVecRef< Q > cactions() const
Definition: DSpace.h:55
void clear()
Definition: DSpace.h:35
std::vector< Q > m_actions
D space actions.
Definition: DSpace.h:60
CVecRef< Q > actions() const
Definition: DSpace.h:54
DSpace(std::shared_ptr< Logger > logger)
Definition: DSpace.h:23
VecRef< Q > params()
Definition: DSpace.h:49
typename array::ArrayHandler< Q, Q >::value_type value_type
Definition: DSpace.h:20
VecRef< Q > actions()
Definition: DSpace.h:53
size_t size() const
Definition: DSpace.h:47
typename array::ArrayHandler< Q, Q >::value_type_abs value_type_abs
Definition: DSpace.h:21
void erase(size_t i)
Erases parameter i.
Definition: DSpace.h:41
CVecRef< Q > params() const
Definition: DSpace.h:50
void update(VecRef< Q > ¶ms, VecRef< Q > &actions)
Clears current D space and moves params and action inside.
Definition: DSpace.h:26
auto wrap(ForwardIt begin, ForwardIt end)
Takes a begin and end iterators and returns a vector of references to each element.
Definition: wrap.h:32
std::vector< std::reference_wrapper< const A > > CVecRef
Definition: wrap.h:14
std::vector< std::reference_wrapper< A > > VecRef
Definition: wrap.h:11