LOCA::DerivUtils Class Reference

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

#include <LOCA_DerivUtils.H>

List of all members.

Public Member Functions

 DerivUtils (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 DerivUtilsclone (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::Continuation::AbstractGroup &grp, int param_id, NOX::Abstract::Vector &result) const
 Compute derivative of f with respect to parameter, identified by param_id.
virtual NOX::Abstract::Group::ReturnType computeDfDp (LOCA::Continuation::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::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, int param_id, NOX::Abstract::Vector &result) const
 Compute derivative of Jn with respect to particular parameter param_id.
virtual NOX::Abstract::Group::ReturnType computeDJnDp (LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, int param_id, const NOX::Abstract::Vector &JnVector, NOX::Abstract::Vector &result) const
 Compute derivative of Jn with respect to parameter, given JnVector.
virtual NOX::Abstract::Group::ReturnType computeDJnDp (LOCA::Continuation::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::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, const NOX::Abstract::Vector &aVector, NOX::Abstract::Vector &result) const
 Compute vector (Jn)_{x}a given vector a.
virtual NOX::Abstract::Group::ReturnType computeDJnDxa (LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &nullVector, const NOX::Abstract::Vector &aVector, const NOX::Abstract::Vector &JnVector, NOX::Abstract::Vector &result) const
 Compute vector (Jn)_{x}a given vector a, given JnVector.
virtual NOX::Abstract::Group::ReturnType computeDJnDxa (LOCA::Continuation::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::Continuation::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 computeDCeDp (LOCA::Bifurcation::HopfBord::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const int param_id, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
virtual NOX::Abstract::Group::ReturnType computeDCeDp (LOCA::Bifurcation::HopfBord::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const int param_id, const NOX::Abstract::Vector &Ce_real, const NOX::Abstract::Vector &Ce_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Bifurcation::HopfBord::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::Vector &aVector, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
 Compute vector (J+iwB)(y+iz))_{x}a given vector a.
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Bifurcation::HopfBord::AbstractGroup &grp, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::Vector &aVector, const NOX::Abstract::Vector &Ce_real, const NOX::Abstract::Vector &Ce_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Bifurcation::HopfBord::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 multi-vector a.
virtual NOX::Abstract::Group::ReturnType computeDCeDxa (LOCA::Bifurcation::HopfBord::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

Protected Member Functions

virtual double perturbParam (LOCA::Continuation::AbstractGroup &grp, double &param, int param_id) const
virtual double perturbXVec (LOCA::Continuation::AbstractGroup &grp, const NOX::Abstract::Vector &xVector, const NOX::Abstract::Vector &aVector) const
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

Protected Attributes

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.


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::DerivUtils::computeDCeDp LOCA::Bifurcation::HopfBord::AbstractGroup grp,
const NOX::Abstract::Vector yVector,
const NOX::Abstract::Vector zVector,
double  w,
const int  param_id,
const NOX::Abstract::Vector Ce_real,
const NOX::Abstract::Vector Ce_imag,
NOX::Abstract::Vector result_real,
NOX::Abstract::Vector result_imag
const [virtual]
 

Compute derivative of (J+iwB)(y+iz) with respect to parameter, given (J+iwB)(y+iz) vectors

NOX::Abstract::Group::ReturnType LOCA::DerivUtils::computeDCeDp LOCA::Bifurcation::HopfBord::AbstractGroup grp,
const NOX::Abstract::Vector yVector,
const NOX::Abstract::Vector zVector,
double  w,
const int  param_id,
NOX::Abstract::Vector result_real,
NOX::Abstract::Vector result_imag
const [virtual]
 

Compute derivative of (J+iwB)(y+iz) with respect to particular parameter param_id

NOX::Abstract::Group::ReturnType LOCA::DerivUtils::computeDCeDxa LOCA::Bifurcation::HopfBord::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 [virtual]
 

Compute vector (J+iwB)(y+iz))_{x}a given multi-vector a, given (J+iwB)(y+iz) vector

NOX::Abstract::Group::ReturnType LOCA::DerivUtils::computeDCeDxa LOCA::Bifurcation::HopfBord::AbstractGroup grp,
const NOX::Abstract::Vector yVector,
const NOX::Abstract::Vector zVector,
double  w,
const NOX::Abstract::Vector aVector,
const NOX::Abstract::Vector Ce_real,
const NOX::Abstract::Vector Ce_imag,
NOX::Abstract::Vector result_real,
NOX::Abstract::Vector result_imag
const [virtual]
 

Compute vector (J+iwB)(y+iz))_{x}a given vector a, given (J+iwB)(y+iz) vector

double LOCA::DerivUtils::epsVector const NOX::Abstract::Vector xVector,
const NOX::Abstract::Vector aVector
const [protected, virtual]
 

Return perturbation for directional derivatives around first vector in direction of second vector

double LOCA::DerivUtils::perturbParam LOCA::Continuation::AbstractGroup grp,
double &  param,
int  param_id
const [protected, virtual]
 

Perturb parameter param_id in the group's parameter vector, and return perturbation size

double LOCA::DerivUtils::perturbXVec LOCA::Continuation::AbstractGroup grp,
const NOX::Abstract::Vector xVector,
const NOX::Abstract::Vector aVector
const [protected, virtual]
 

Perturb group's solution vector in direction of aVector, and return perturbation size


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