LOCA::DerivUtils Class Reference

LOCA's generic derivative computation class to compute various derivatives via finite differencing. More...

#include <LOCA_DerivUtils.H>

Collaboration diagram for LOCA::DerivUtils:

[legend]
List of all members.

Public Member Functions

 DerivUtils (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data, double perturb=1.0e-6)
 Default constructor. perturb is the relative perturbation size used in differencing calculations.
 DerivUtils (const DerivUtils &)
 Copy constructor.
virtual ~DerivUtils ()
 Destructor.
virtual Teuchos::RefCountPtr<
DerivUtils
clone (NOX::CopyType type=NOX::DeepCopy) const
 Cloning function. Creates a copy of the DerivUtils object of the same type.
virtual NOX::Abstract::Group::ReturnType computeDfDp (LOCA::MultiContinuation::AbstractGroup &grp, const vector< int > &param_ids, NOX::Abstract::MultiVector &result, bool isValidF) const
 Compute derivative of f with respect to parameter, identified by param_id.
virtual NOX::Abstract::Group::ReturnType computeDJnDp (LOCA::MultiContinuation::AbstractGroup &, const vector< int > &paramIDs, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector &result, bool isValid) const
 Compute derivative of Jn with respect to particular parameter param_id.
virtual NOX::Abstract::Group::ReturnType computeDJnDxa (LOCA::MultiContinuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result) const
 Compute vector (Jn)_{x}a given multi-vector a.
virtual NOX::Abstract::Group::ReturnType computeDJnDxa (LOCA::MultiContinuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, const NOX::Abstract::MultiVector &aVector, const NOX::Abstract::Vector &JnVector, NOX::Abstract::MultiVector &result) const
 Compute vector (Jn)_{x}a given multi-vector a, given JnVector.
virtual NOX::Abstract::Group::ReturnType computeDwtJnDp (LOCA::MultiContinuation::AbstractGroup &grp, const vector< int > &paramIDs, const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector::DenseMatrix &result, bool isValid) const
 Compute derivative of w^TJn with respect to particular parameter param_id.
virtual NOX::Abstract::Group::ReturnType computeDwtJDp (LOCA::MultiContinuation::AbstractGroup &grp, const vector< int > &paramIDs, const NOX::Abstract::Vector &w, NOX::Abstract::MultiVector &result, bool isValid) const
 Compute derivative of w^TJ with respect to particular parameter param_id.
virtual NOX::Abstract::Group::ReturnType computeDwtJnDx (LOCA::MultiContinuation::AbstractGroup &grp, const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::Vector &result) const
 Compute vector (w^TJn)_{x}.
virtual NOX::Abstract::Group::ReturnType computeDCeDp (LOCA::Hopf::MooreSpence::AbstractGroup &grp, const vector< int > &paramIDs, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag, bool isValid) const
 Compute derivative of (J+iwB)(y+iz) with respect to parameter,.
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Hopf::MooreSpence::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
 Compute vector (J+iwB)(y+iz))_{x}a given a.
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Hopf::MooreSpence::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, const NOX::Abstract::Vector &Ce_real, const NOX::Abstract::Vector &Ce_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
 Compute vector (J+iwB)(y+iz))_{x}a given a and (J+iwB)(y+iz) vector.

Protected Member Functions

virtual double perturbParam (LOCA::MultiContinuation::AbstractGroup &grp, double &param, int param_id) const
 Perturb parameter param_id in the group's parameter vector, and return perturbation size.
virtual double perturbXVec (LOCA::MultiContinuation::AbstractGroup &grp, const NOX::Abstract::Vector &xVector, const NOX::Abstract::Vector &aVector) const
 Perturb group's solution vector in direction of aVector, and return perturbation size.
virtual double epsScalar (double p) const
 Return perturbation for finite differencing around given double variable.
virtual double epsVector (const NOX::Abstract::Vector &xVector, const NOX::Abstract::Vector &aVector) const
 Return perturbation for directional derivatives around first vector in direction of second vector.

Protected Attributes

Teuchos::RefCountPtr< LOCA::GlobalDataglobalData
 Global data.
double perturb
 Relative perturbation size using in differencing calculations.

Detailed Description

LOCA's generic derivative computation class to compute various derivatives via finite differencing.

The DerivUtils class provides generic methods to compute the following derivatives:

\[ \frac{\partial F}{\partial p},\quad\frac{\partial Jn}{\partial p},\quad\frac{\partial Jn}{\partial x}a \]

where $J = \partial F/\partial x$ and $n$, $a$ are vectors. These quantities are calculate by finite differencing.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:38:29 2008 for NOX by doxygen 1.3.9.1