#include <XSpace.h>


Public Member Functions | |
| XSpace (const std::shared_ptr< ArrayHandlers< R, Q, P > > &handlers, const std::shared_ptr< Logger > &logger) | |
| void | update_qspace (const CVecRef< R > ¶ms, const CVecRef< R > &actions) override |
| Update parameters in Q space and corresponding equation data. | |
| void | update_dspace (VecRef< Q > ¶ms, VecRef< Q > &actions) override |
| Clears old D space container and stores new params and actions. | |
| void | update_pspace (const CVecRef< P > ¶ms, const array::Span< value_type > &pp_action_matrix) override |
| void | add_rhs_equations (const CVecRef< R > &rhs) |
| For a system of linear equations Ax=b, adds rhs vectors b. | |
| CVecRef< Q > | rhs () const |
| Access RHS vectors in linear equations. | |
| const std::vector< value_type_abs > & | rhs_norm () const |
| Norm of RHS vectors. | |
| const Dimensions & | dimensions () const override |
| void | erase (size_t i) override |
| Removes parameter i from the full subspace. | |
| void | eraseq (size_t i) override |
| Removes parameter i from Q subspace. | |
| void | erasep (size_t i) override |
| Removes parameter i from P subspace. | |
| void | erased (size_t i) override |
| Removes parameter i from D subspace. | |
| VecRef< P > | paramsp () override |
| VecRef< Q > | paramsq () override |
| VecRef< Q > | actionsq () override |
| VecRef< Q > | paramsd () override |
| VecRef< Q > | actionsd () override |
| CVecRef< P > | paramsp () const override |
| CVecRef< Q > | paramsq () const override |
| CVecRef< Q > | actionsq () const override |
| CVecRef< Q > | paramsd () const override |
| CVecRef< Q > | actionsd () const override |
| CVecRef< P > | cparamsp () const override |
| CVecRef< Q > | cparamsq () const override |
| CVecRef< Q > | cactionsq () const override |
| CVecRef< Q > | cparamsd () const override |
| CVecRef< Q > | cactionsd () const override |
| void | set_logger (std::shared_ptr< Logger > logger) override |
| void | set_hermiticity (bool hermitian) |
| Set Hermiticity of the subspace. P space can only be used with Hermitian problems. | |
| bool | get_hermiticity () |
| void | set_action_action () |
Public Member Functions inherited from molpro::linalg::itsolv::subspace::IXSpace< R, Q, P > | |
| IXSpace ()=default | |
| virtual | ~IXSpace ()=default |
| size_t | size () const |
| Number of vectors forming the subspace. | |
Public Attributes | |
| PSpace< R, P > | pspace |
| QSpace< R, Q, P > | qspace |
| DSpace< Q > | dspace |
Public Attributes inherited from molpro::linalg::itsolv::subspace::IXSpace< R, Q, P > | |
| SubspaceData< value_type > | data |
| Equation data in the subspace. | |
Protected Member Functions | |
| void | update_dimensions () |
| auto | update_rhs_with_pspace () |
| Update projection of RHS data onto P space. | |
| void | remove_data (size_t i) |
Protected Attributes | |
| std::shared_ptr< ArrayHandlers< R, Q, P > > | m_handlers |
| std::shared_ptr< Logger > | m_logger |
| Dimensions | m_dim |
| std::vector< Q > | m_rhs |
| Right hand side vectors. | |
| std::vector< value_type_abs > | m_rhs_norm |
| norm of RHS vectors | |
| bool | m_hermitian = false |
| whether the matrix is Hermitian | |
| bool | m_action_dot_action = false |
| whether the H matrix is action.action instead of action.parameter | |
Additional Inherited Members | |
Public Types inherited from molpro::linalg::itsolv::subspace::IXSpace< R, Q, P > | |
| using | R = R |
| using | Q = Q |
| using | P = P |
| using | value_type = typename array::ArrayHandler< R, R >::value_type |
| using | value_type_abs = typename array::ArrayHandler< R, R >::value_type_abs |
|
inlineexplicit |
|
inline |
For a system of linear equations Ax=b, adds rhs vectors b.
|
inlineoverridevirtual |
Removes parameter i from the full subspace.
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
Removes parameter i from D subspace.
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
Removes parameter i from P subspace.
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
Removes parameter i from Q subspace.
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
|
inline |
Access RHS vectors in linear equations.
|
inline |
Norm of RHS vectors.
|
inline |
Set Hermiticity of the subspace. P space can only be used with Hermitian problems.
|
inlineprotected |
|
inlineoverridevirtual |
Clears old D space container and stores new params and actions.
| lin_trans_only_R | R space component of D |
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
|
inlineoverridevirtual |
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
|
inlineoverridevirtual |
Update parameters in Q space and corresponding equation data.
Implements molpro::linalg::itsolv::subspace::IXSpace< R, Q, P >.
|
inlineprotected |
Update projection of RHS data onto P space.
whether the H matrix is action.action instead of action.parameter
|
protected |
|
protected |
whether the matrix is Hermitian
|
protected |
|
protected |
Right hand side vectors.
|
protected |
norm of RHS vectors