1#ifndef LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_PSPACE_H
2#define LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_PSPACE_H
3#include <molpro/linalg/array/ArrayHandler.h>
4#include <molpro/linalg/itsolv/subspace/SubspaceData.h>
5#include <molpro/linalg/itsolv/wrap.h>
9template <
class Rt,
class Pt>
17 m_params.emplace_back(handler.
copy(
p));
24 size_t size()
const {
return m_params.size(); }
26 void erase(
size_t i) { m_params.erase(m_params.begin() +
i); }
29 std::vector<P> m_params;
Enhances various operations between pairs of arrays and allows dynamic code injection with uniform in...
Definition ArrayHandler.h:163
virtual AL copy(const AR &source)=0
VecRef< P > params()
Definition PSpace.h:22
void update(const CVecRef< P > ¶ms, array::ArrayHandler< P, P > &handler)
Definition PSpace.h:15
CVecRef< P > params() const
Definition PSpace.h:20
size_t size() const
Definition PSpace.h:24
Rt R
Definition PSpace.h:12
Pt P
Definition PSpace.h:13
void erase(size_t i)
Definition PSpace.h:26
CVecRef< P > cparams() const
Definition PSpace.h:21
auto cwrap(ForwardIt begin, ForwardIt end)
Takes a begin and end iterators and returns a vector of references to each element.
Definition wrap.h:52
std::unique_ptr< LinearEigensystem< R, Q, P > > create_LinearEigensystem(const LinearEigensystemOptions &options, const std::shared_ptr< ArrayHandlers< R, Q, P > > &handlers=std::make_shared< molpro::linalg::itsolv::ArrayHandlers< R, Q, P > >())
Definition SolverFactory.h:111
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