Full subspace. More...
#include <IXSpace.h>
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 > ¶ms, const array::Span< value_type > &pp_action_matrix, const array::Span< value_type > &pp_metric_matrix={})=0 |
| Adds parameters to the P space. | |
| virtual void | set_metric (MetricKind kind, MetricStorage storage=MetricStorage::Stored)=0 |
| Declares the metric of the subspace. Anything other than MetricKind::Identity creates the metric matrix EqnData::M. Only possible while the subspace is empty, unless it does not change anything. | |
| virtual MetricKind | metric_kind () const =0 |
| The kind of metric declared with set_metric() | |
| virtual MetricStorage | metric_storage () const =0 |
| How the actions of the metric declared with set_metric() are obtained. | |
| bool | stores_metric_actions () const |
| Whether the actions of the metric on the Q and D vectors are kept. | |
| virtual void | update_qspace (const CVecRef< R > ¶ms, const CVecRef< R > &actions, const CVecRef< R > &metric_actions={})=0 |
| Adds parameters to the Q space. | |
| virtual void | update_dspace (VecRef< Q > ¶ms, VecRef< Q > &actions, const VecRef< Q > &metric_actions={}, const std::vector< size_t > &q_delete={}, const Matrix< value_type > &coefficients={})=0 |
| Replaces the old D space and the Q vectors q_delete by new D vectors, which are linear combinations of them. | |
| 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 CVecRef< Q > | cmetric_actionsq () const =0 |
| Actions of the metric on the Q space parameters, empty unless there is a metric. | |
| virtual CVecRef< Q > | cmetric_actionsd () const =0 |
| Actions of the metric on the D space parameters, empty unless there is a metric. | |
| 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. | |
| using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::value_type = typename array::ArrayHandler<R, R>::value_type |
| using molpro::linalg::itsolv::subspace::IXSpace< RT, QT, PT >::value_type_abs = typename array::ArrayHandler<R, R>::value_type_abs |
|
default |
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Actions of the metric on the D space parameters, empty unless there is a metric.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Actions of the metric on the Q space parameters, empty unless there is a metric.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Removes parameter i from the full subspace.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Removes parameter i from D subspace.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Removes parameter i from P subspace.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Removes parameter i from Q subspace.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
The kind of metric declared with set_metric()
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
How the actions of the metric declared with set_metric() are obtained.
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Declares the metric of the subspace. Anything other than MetricKind::Identity creates the metric matrix EqnData::M. Only possible while the subspace is empty, unless it does not change anything.
| kind | the kind of metric |
| storage | whether the actions of the metric on the Q and D vectors are kept |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
inline |
Number of vectors forming the subspace.
|
inline |
Whether the actions of the metric on the Q and D vectors are kept.
|
pure virtual |
Replaces the old D space and the Q vectors q_delete by new D vectors, which are linear combinations of them.
| params | the new D vectors |
| actions | their actions |
| metric_actions | their actions of the metric, given exactly if they are stored |
| q_delete | indices of the Q vectors to delete |
| coefficients | if there is a metric and there are new D vectors, the coefficients of the new D vectors (rows) in the deleted Q vectors (in the order of q_delete) followed by the old D vectors, from which their metric matrix elements are obtained without operations on vectors |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Adds parameters to the P space.
| params | the P space vectors |
| pp_action_matrix | the kernel matrix in the P space |
| pp_metric_matrix | the metric matrix in the P space, given exactly if there is a metric |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
|
pure virtual |
Adds parameters to the Q space.
| params | new parameters |
| actions | their actions |
| metric_actions | their actions of the metric, given exactly if there is a metric |
Implemented in molpro::linalg::itsolv::subspace::XSpace< R, Q, P >.
Equation data in the subspace.