Public Member Functions | |
NonlinearOperatorBase () | |
NonlinearOperatorBase (const VectorSpace< Scalar > &domain, const VectorSpace< Scalar > &range) | |
const RCP< const VectorSpaceBase< Scalar > > & | domain () const |
const RCP< const VectorSpaceBase< Scalar > > & | range () const |
void | setEvalPt (const Vector< Scalar > &x) const |
const Vector< double > & | currentEvalPt () const |
LinearOperator< double > | getJacobian () const |
Vector< double > | getFunctionValue () const |
virtual Vector< double > | getInitialGuess () const =0 |
Protected Member Functions | |
virtual LinearOperator< Scalar > | computeJacobianAndFunction (Vector< double > &functionValue) const =0 |
virtual Vector< Scalar > | computeFunctionValue () const |
void | setDomainAndRange (const VectorSpace< Scalar > &domain, const VectorSpace< Scalar > &range) |
Private Attributes | |
RCP< const VectorSpaceBase < Scalar > > | domain_ |
RCP< const VectorSpaceBase < Scalar > > | range_ |
bool | jacobianIsValid_ |
bool | residualIsValid_ |
Vector< double > | currentEvalPt_ |
Vector< double > | currentFunctionValue_ |
LinearOperator< double > | currentJ_ |
Definition at line 24 of file PlayaNonlinearOperatorBase.hpp.
Playa::NonlinearOperatorBase< Scalar >::NonlinearOperatorBase | ( | ) | [inline] |
Empty ctor, for contexts in which we don't know the domain and range spaces at the beginning of construction time
Definition at line 31 of file PlayaNonlinearOperatorBase.hpp.
Playa::NonlinearOperatorBase< Scalar >::NonlinearOperatorBase | ( | const VectorSpace< Scalar > & | domain, | |
const VectorSpace< Scalar > & | range | |||
) | [inline] |
Construct a nonlinear operator with a domain and range
Definition at line 41 of file PlayaNonlinearOperatorBase.hpp.
virtual Vector<Scalar> Playa::NonlinearOperatorBase< Scalar >::computeFunctionValue | ( | ) | const [inline, protected, virtual] |
Compute the function value at the current eval point
Reimplemented in Sundance::NLOp.
Definition at line 162 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::getFunctionValue().
virtual LinearOperator<Scalar> Playa::NonlinearOperatorBase< Scalar >::computeJacobianAndFunction | ( | Vector< double > & | functionValue | ) | const [protected, pure virtual] |
Compute the Jacobian at the current eval point
Implemented in Sundance::NLOp, and Playa::PoissonBoltzmannOp.
Referenced by Playa::NonlinearOperatorBase< double >::computeFunctionValue(), and Playa::NonlinearOperatorBase< double >::getJacobian().
const Vector<double>& Playa::NonlinearOperatorBase< Scalar >::currentEvalPt | ( | ) | const [inline] |
Get the current point at which the function is to be evaluated
Definition at line 80 of file PlayaNonlinearOperatorBase.hpp.
const RCP<const VectorSpaceBase<Scalar> >& Playa::NonlinearOperatorBase< Scalar >::domain | ( | ) | const [inline] |
Return the domain space
Definition at line 52 of file PlayaNonlinearOperatorBase.hpp.
Vector<double> Playa::NonlinearOperatorBase< Scalar >::getFunctionValue | ( | ) | const [inline] |
Return the function value at the current evaluation point
Definition at line 119 of file PlayaNonlinearOperatorBase.hpp.
virtual Vector<double> Playa::NonlinearOperatorBase< Scalar >::getInitialGuess | ( | ) | const [pure virtual] |
Return an initial guess appropriate to this problem
Implemented in Sundance::NLOp, and Playa::PoissonBoltzmannOp.
LinearOperator<double> Playa::NonlinearOperatorBase< Scalar >::getJacobian | ( | ) | const [inline] |
Return the Jacobian at the current evaluation point
Definition at line 83 of file PlayaNonlinearOperatorBase.hpp.
const RCP<const VectorSpaceBase<Scalar> >& Playa::NonlinearOperatorBase< Scalar >::range | ( | ) | const [inline] |
Return the range space
Definition at line 56 of file PlayaNonlinearOperatorBase.hpp.
void Playa::NonlinearOperatorBase< Scalar >::setDomainAndRange | ( | const VectorSpace< Scalar > & | domain, | |
const VectorSpace< Scalar > & | range | |||
) | [inline, protected] |
Set the domain and range. This is protected so that solver developers don't try to change the spaces on the fly
Definition at line 171 of file PlayaNonlinearOperatorBase.hpp.
void Playa::NonlinearOperatorBase< Scalar >::setEvalPt | ( | const Vector< Scalar > & | x | ) | const [inline] |
Set the evaluation point
Definition at line 60 of file PlayaNonlinearOperatorBase.hpp.
Vector<double> Playa::NonlinearOperatorBase< Scalar >::currentEvalPt_ [mutable, private] |
Definition at line 193 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::currentEvalPt(), and Playa::NonlinearOperatorBase< double >::setEvalPt().
Vector<double> Playa::NonlinearOperatorBase< Scalar >::currentFunctionValue_ [mutable, private] |
Definition at line 196 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::computeFunctionValue(), Playa::NonlinearOperatorBase< double >::getFunctionValue(), and Playa::NonlinearOperatorBase< double >::getJacobian().
LinearOperator<double> Playa::NonlinearOperatorBase< Scalar >::currentJ_ [mutable, private] |
Definition at line 199 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::getJacobian().
RCP<const VectorSpaceBase<Scalar> > Playa::NonlinearOperatorBase< Scalar >::domain_ [private] |
Definition at line 181 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::domain(), and Playa::NonlinearOperatorBase< double >::setDomainAndRange().
bool Playa::NonlinearOperatorBase< Scalar >::jacobianIsValid_ [mutable, private] |
Definition at line 187 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::getJacobian(), and Playa::NonlinearOperatorBase< double >::setEvalPt().
RCP<const VectorSpaceBase<Scalar> > Playa::NonlinearOperatorBase< Scalar >::range_ [private] |
Definition at line 184 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::range(), and Playa::NonlinearOperatorBase< double >::setDomainAndRange().
bool Playa::NonlinearOperatorBase< Scalar >::residualIsValid_ [mutable, private] |
Definition at line 190 of file PlayaNonlinearOperatorBase.hpp.
Referenced by Playa::NonlinearOperatorBase< double >::getFunctionValue(), Playa::NonlinearOperatorBase< double >::getJacobian(), and Playa::NonlinearOperatorBase< double >::setEvalPt().