casa
5.7.0-16
|
Class that computes partial derivatives by automatic differentiation. More...
#include <AutoDiffX.h>
Public Member Functions | |
AutoDiffX () | |
Construct a constant with a value of zero. More... | |
AutoDiffX (const T &v) | |
Construct a constant with a value of v. More... | |
AutoDiffX (const T &v, const uInt ndiffs, const uInt n) | |
A function f(x0,x1,...,xn,...) with a value of v. More... | |
AutoDiffX (const T &v, const uInt ndiffs) | |
A function f(x0,x1,...,xn,...) with a value of v. More... | |
AutoDiffX (const AutoDiff< T > &other) | |
Construct one from another. More... | |
AutoDiffX (const T &v, const Vector< T > &derivs) | |
Construct a function f(x0,x1,...,xn) of a value v and a vector of derivatives derivs(0) = df/dx0, derivs(1) = df/dx1,... More... | |
~AutoDiffX () | |
AutoDiffX< T > & | operator= (const T &v) |
Assignment operator. More... | |
AutoDiffX< T > & | operator= (const AutoDiff< T > &other) |
Assign one to another. More... | |
Public Member Functions inherited from casacore::AutoDiff< T > | |
AutoDiff () | |
Construct a constant with a value of zero. More... | |
AutoDiff (const T &v) | |
Construct a constant with a value of v. More... | |
AutoDiff (const T &v, const uInt ndiffs, const uInt n) | |
A function f(x0,x1,...,xn,...) with a value of v. More... | |
AutoDiff (const T &v, const uInt ndiffs) | |
A function f(x0,x1,...,xn,...) with a value of v. More... | |
AutoDiff (const AutoDiff< T > &other) | |
Construct one from another. More... | |
AutoDiff (const T &v, const Vector< T > &derivs) | |
Construct a function f(x0,x1,...,xn) of a value v and a vector of derivatives derivs(0) = df/dx0, derivs(1) = df/dx1,... More... | |
~AutoDiff () | |
AutoDiff< T > & | operator= (const T &v) |
Assignment operator. More... | |
AutoDiff< T > & | operator= (const AutoDiff< T > &other) |
Assign one to another. More... | |
void | operator*= (const AutoDiff< T > &other) |
In-place mathematical operators. More... | |
void | operator/= (const AutoDiff< T > &other) |
void | operator+= (const AutoDiff< T > &other) |
void | operator-= (const AutoDiff< T > &other) |
void | operator*= (const T other) |
void | operator/= (const T other) |
void | operator+= (const T other) |
void | operator-= (const T other) |
T & | value () |
Returns the value of the function. More... | |
const T & | value () const |
const Vector< T > & | derivatives () const |
Returns a vector of the derivatives of an AutoDiff. More... | |
Vector< T > & | derivatives () |
void | derivatives (Vector< T > &res) const |
T & | derivative (uInt which) |
Returns a specific derivative. More... | |
const T & | derivative (uInt which) const |
T & | deriv (uInt which) |
const T & | deriv (uInt which) const |
uInt | nDerivatives () const |
Return total number of derivatives. More... | |
Bool | isConstant () const |
Is it a constant, i.e., with zero derivatives? More... | |
Additional Inherited Members | |
Public Types inherited from casacore::AutoDiff< T > | |
typedef T | value_type |
typedef value_type & | reference |
typedef const value_type & | const_reference |
typedef value_type * | iterator |
typedef const value_type * | const_iterator |
Class that computes partial derivatives by automatic differentiation.
Public interface
Class that computes partial derivatives by automatic differentiation, thus AutoDiff.
AutoDiffX is an AutoDiff. It is used to be able to distinguish between two template incarnations; e.g. to have one or more specializations, in addition to the general template version.
See for an extensive example the demo program dAutoDiff. It is based on the example given in the AutoDiff class, and shows how to have both an automatic and a specific version of a function object.
The class was created to enable separate calculations of the same function.
Definition at line 121 of file AutoDiffX.h.
|
inline |
Construct a constant with a value of zero.
Zero derivatives.
Definition at line 125 of file AutoDiffX.h.
|
inline |
Construct a constant with a value of v.
Zero derivatives.
Definition at line 128 of file AutoDiffX.h.
|
inline |
A function f(x0,x1,...,xn,...) with a value of v.
The total number of derivatives is ndiffs, the nth derivative is one, and all others are zero.
Definition at line 133 of file AutoDiffX.h.
|
inline |
A function f(x0,x1,...,xn,...) with a value of v.
The total number of derivatives is ndiffs. All derivatives are zero.
Definition at line 139 of file AutoDiffX.h.
|
inline |
Construct one from another.
Definition at line 142 of file AutoDiffX.h.
|
inline |
Construct a function f(x0,x1,...,xn) of a value v and a vector of derivatives derivs(0) = df/dx0, derivs(1) = df/dx1,...
Definition at line 146 of file AutoDiffX.h.
|
inline |
Definition at line 148 of file AutoDiffX.h.
|
inline |
Assignment operator.
Assign a constant to variable. All derivatives are zero.
Definition at line 152 of file AutoDiffX.h.
References casacore::AutoDiff< T >::operator=().
|
inline |
Assign one to another.
Definition at line 158 of file AutoDiffX.h.
References casacore::AutoDiff< T >::operator=().