Solves subspace problem for minimisation using the Steepest Descent algorithm. More...
#include <SubspaceSolverOptBFGS.h>


Solves subspace problem for minimisation using the Steepest Descent algorithm.
Public Types | |
| using | value_type = typename ISubspaceSolver< RT, QT, PT >::value_type |
| using | value_type_abs = typename ISubspaceSolver< RT, QT, PT >::value_type_abs |
| using | R = typename ISubspaceSolver< RT, QT, PT >::R |
| using | Q = typename ISubspaceSolver< RT, QT, PT >::Q |
| using | P = typename ISubspaceSolver< RT, QT, PT >::P |
Public Types inherited from molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT > | |
| 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 | |
| SubspaceSolverOptBFGS (std::shared_ptr< Logger > logger) | |
| void | solve (IXSpace< R, Q, P > &xspace, const size_t nroots_max) override |
| Solve the subspace problem. More... | |
| void | set_error (int root, value_type_abs error) override |
| Set error value for solution root More... | |
| void | set_error (const std::vector< int > &roots, const std::vector< value_type_abs > &errors) override |
| Update errors for a group of roots. More... | |
| const Matrix< value_type > & | solutions () const override |
| Access solutions from the last solve() call. More... | |
| const std::vector< value_type > & | eigenvalues () const override |
| Access eigenvalues from the last solve() call. More... | |
| const std::vector< value_type_abs > & | errors () const override |
| Access errors corresponding to each solution. More... | |
| size_t | size () const override |
| Number of solutions. More... | |
Public Member Functions inherited from molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT > | |
| virtual | ~ISubspaceSolver ()=default |
| virtual void | solve (IXSpace< R, Q, P > &xspace, size_t nroots_max)=0 |
| Solve the subspace problem. More... | |
| virtual void | set_error (int root, value_type_abs error)=0 |
| Update the error associated with a given root. More... | |
| virtual void | set_error (const std::vector< int > &roots, const std::vector< value_type_abs > &errors)=0 |
| Update errors for a group of roots. More... | |
| virtual const Matrix< value_type > & | solutions () const =0 |
| Access solutions from the last solve() call. More... | |
| virtual const std::vector< value_type > & | eigenvalues () const =0 |
| Access eigenvalues from the last solve() call. More... | |
| virtual const std::vector< value_type_abs > & | errors () const =0 |
| Access errors corresponding to each solution. More... | |
| virtual size_t | size () const =0 |
| Number of solutions stored in this object. More... | |
Protected Attributes | |
| Matrix< value_type > | m_solutions |
| solution matrix with row vectors More... | |
| std::vector< value_type_abs > | m_errors |
| errors in subspace solutions More... | |
| std::shared_ptr< Logger > | m_logger {} |
| using molpro::linalg::itsolv::subspace::SubspaceSolverOptBFGS< RT, QT, PT >::P = typename ISubspaceSolver<RT, QT, PT>::P |
| using molpro::linalg::itsolv::subspace::SubspaceSolverOptBFGS< RT, QT, PT >::Q = typename ISubspaceSolver<RT, QT, PT>::Q |
| using molpro::linalg::itsolv::subspace::SubspaceSolverOptBFGS< RT, QT, PT >::R = typename ISubspaceSolver<RT, QT, PT>::R |
| using molpro::linalg::itsolv::subspace::SubspaceSolverOptBFGS< RT, QT, PT >::value_type = typename ISubspaceSolver<RT, QT, PT>::value_type |
| using molpro::linalg::itsolv::subspace::SubspaceSolverOptBFGS< RT, QT, PT >::value_type_abs = typename ISubspaceSolver<RT, QT, PT>::value_type_abs |
|
inlineexplicit |
|
inlineoverridevirtual |
Access eigenvalues from the last solve() call.
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Access errors corresponding to each solution.
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Update errors for a group of roots.
| roots | group of roots |
| errors | errors corresponding to each root |
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Set error value for solution root
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Number of solutions.
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Access solutions from the last solve() call.
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
inlineoverridevirtual |
Solve the subspace problem.
| xspace | definition of the subspace |
| nroots_max | maximum number of roots to calculate |
Implements molpro::linalg::itsolv::subspace::ISubspaceSolver< RT, QT, PT >.
|
protected |
errors in subspace solutions
|
protected |
|
protected |
solution matrix with row vectors