[frames] | no frames]

# Module SP_FirstDerivatives

source code

Automatic differentiation for functions with any number of variables

Instances of the class DerivVar represent the values of a function and its partial derivatives with respect to a list of variables. All common mathematical operations and functions are available for these numbers. There is no restriction on the type of the numbers fed into the code; it works for real and complex numbers as well as for any Python type that implements the necessary operations.

This module is as far as possible compatible with the n-th order derivatives module Derivatives. If only first-order derivatives are required, this module is faster than the general one.

Example:

``` print sin(DerivVar(2))
```

produces the output:

``` (0.909297426826, [-0.416146836547])
```

The first number is the value of sin(2); the number in the following list is the value of the derivative of sin(x) at x=2, i.e. cos(2).

When there is more than one variable, DerivVar must be called with an integer second argument that specifies the number of the variable.

Example:

```   >>>x = DerivVar(7., 0)
>>>y = DerivVar(42., 1)
>>>z = DerivVar(pi, 2)
>>>print (sqrt(pow(x,2)+pow(y,2)+pow(z,2)))

produces the output

>>>(42.6950770511, [0.163953328662, 0.98371997197, 0.0735820818365])
```

The numbers in the list are the partial derivatives with respect to x, y, and z, respectively.

Note: It doesn't make sense to use DerivVar with different values for the same variable index in one calculation, but there is no check for this. I.e.:

```   >>>print DerivVar(3, 0)+DerivVar(5, 0)

produces

>>>(8, [2])
```

but this result is meaningless.

 Classes
DerivVar
Numerical variable with automatic derivatives of first order
 Functions
bool
 isDerivVar(x) Returns: True if x is a DerivVar object, False otherwise source code

 _mapderiv(func, a, b) source code
`Scientific.Geometry.Vector`
 DerivVector(x, y, z, index=0) Returns: a vector whose components are DerivVar objects source code
 Variables
__package__ = `'nictools'`

Imports: N, Numeric

 Function Details

### isDerivVar(x)

source code
Parameters:
• `x` - an arbitrary object
Returns: bool
True if x is a DerivVar object, False otherwise

### DerivVector(x, y, z, index=0)

source code
Parameters:
• `x` (number) - x component of the vector
• `y` (number) - y component of the vector
• `z` (number) - z component of the vector
• `index` (`int`) - the DerivVar index for the x component. The y and z components receive consecutive indices.
Returns: `Scientific.Geometry.Vector`
a vector whose components are DerivVar objects

 Generated by Epydoc 3.0.1 on Thu Jan 13 11:20:15 2011 http://epydoc.sourceforge.net