MADNESS 0.10.1
madness::NonlinearSolverND< NDIM > Class Template Reference

A simple Krylov-subspace nonlinear equation solver. More...

#include <nonlinsol.h>

Collaboration diagram for madness::NonlinearSolverND< NDIM >:

Public Member Functions

 NonlinearSolverND (unsigned int maxsub=10)
unsigned int get_maxsub () const
void set_maxsub (const unsigned int &new_maxsub)
Function< double, NDIM > update (const Function< double, NDIM > &u, const Function< double, NDIM > &r, const double rcondtol=1e-8, const double cabsmax=1000.0)
 Computes next trial solution vector.

Public Attributes

bool do_print

Private Attributes

unsigned int maxsub
 Maximum size of subspace dimension.
real_tensor Q
std::vector< Function< double, NDIM > > rlist
std::vector< Function< double, NDIM > > ulist

Detailed Description

template<size_t NDIM>
class madness::NonlinearSolverND< NDIM >

A simple Krylov-subspace nonlinear equation solver.

Constructor & Destructor Documentation

◆ NonlinearSolverND()

template<size_t NDIM>
madness::NonlinearSolverND< NDIM >::NonlinearSolverND ( unsigned int maxsub = 10)
inline

Member Function Documentation

◆ get_maxsub()

template<size_t NDIM>
unsigned int madness::NonlinearSolverND< NDIM >::get_maxsub ( ) const
inline

◆ set_maxsub()

template<size_t NDIM>
void madness::NonlinearSolverND< NDIM >::set_maxsub ( const unsigned int & new_maxsub)
inline

◆ update()

template<size_t NDIM>
Function< double, NDIM > madness::NonlinearSolverND< NDIM >::update ( const Function< double, NDIM > & u,
const Function< double, NDIM > & r,
const double rcondtol = 1e-8,
const double cabsmax = 1000.0 )
inline

Computes next trial solution vector.

You are responsible for performing step restriction or line search (not necessary for linear problems).

Parameters
uCurrent solution vector
rCorresponding residual
Returns
Next trial solution vector
Parameters
[in]rcondtolrcond less than this will cause the subspace to be shrunk due to linear dependence
[in]cabsmaxmaximum element of c greater than this will cause the subspace to be shrunk due to linear dependence

Referenced by GygiPot::ESP(), iterate_excite(), iterate_excite(), iterate_ground(), iterate_ground(), madness::CC2::iterate_pair(), madness::CCPotentials::iterate_pair_macrotask(), main(), SurfaceMoleculeInteraction::perturbed_molecular_pot(), SVPESolver::solve(), and madness::MP2::solve_residual_equations().

Member Data Documentation

◆ do_print

◆ maxsub

template<size_t NDIM>
unsigned int madness::NonlinearSolverND< NDIM >::maxsub
private

Maximum size of subspace dimension.

◆ Q

template<size_t NDIM>
real_tensor madness::NonlinearSolverND< NDIM >::Q
private

◆ rlist

template<size_t NDIM>
std::vector<Function<double,NDIM> > madness::NonlinearSolverND< NDIM >::rlist
private

◆ ulist

template<size_t NDIM>
std::vector<Function<double,NDIM> > madness::NonlinearSolverND< NDIM >::ulist
private

The documentation for this class was generated from the following file: