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 |
![]() | |
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... | |
![]() | |
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