To increase support for the development of discipline
specific VisAD applications, we have decided to add
a derivative method to the core system's Function
For starters, here are the method signatures we've
considered thus far:
Function derivative( RealType dx, RealType derivType );
Here, the derivative is evaluated at the function's
sample points along the specified axis so the return
data object should be the Function whose domain is that
of the original fucntion's, and the range is that
In this case no partial is specified, so the method evaluates
the derivatives as above and returns a Tuple of Functions each
of which corresponds to the partial derivative along each of
the fucntion's domain axes.
Data derivative( RealType dx, RealTuple location );
Tuple derivative( RealTuple location );
These last two are analogous to the previous two,
except the derivative evaluation occurs at a
specified point (location) in the function's domain.
The return type is Data since the result is likely to
be a Function or a Real.
Where the arguements of these signatures represent,
RealType dx: partial derivative along this Real axis of the
RealType derivType: Type (name) of the derivative (optional)
if ( derivType == null )
derivType = "d_RangeName_/_d_dx"
RealTuple location: point in function's domain where the
derivative is to be evaluated.
Expect some revision, and possible additional signatures of this
method since I've just begun the development of this functionality.
Of course, comments and suggestions are welcomed.
Tom Rink rink@xxxxxxxxxxxxx
Space Science and Engineering Center Univ of Wisconsin-Madison