Home | Trees | Index | Help |
---|
Package numdifftools :: Module core :: Class Derivative |
|
object
--+ |Common_diff_par
--+ | Derivative
Gradient
,
Hessdiag
,
Hessian
Estimate n'th derivative of fun at x0, with error estimate Input arguments =============== fun = function to differentiate. **kwds ------ derOrder : Integer from 1 to 4 defining derivative order. (Default 1) metOrder : Integer from 1 to 4 defining order of basic method used. (For 'central' methods, it must be from the set [2,4]. (Default 2) method : Method of estimation. Valid options are: 'central', 'forward' or 'backwards'. (Default 'central') numTerms : Number of Romberg terms used in the extrapolation. Must be an integer from 0 to 3. (Default 2) Note: 0 disables the Romberg step completely. stepFix : If not None, it will define the maximum excursion from x0 that is used and prevent the adaptive logic from working. This will be considerably faster, but not necessarily as accurate as allowing the adaptive logic to run. (Default: None) stepMax : Maximum allowed excursion from x0 as a multiple of x0. (Default 100) stepRatio: Ratio used between sequential steps in the estimation of the derivative (Default 2) vectorized : True - if your function is vectorized. False - loop over the successive function calls (default). Uses a semi-adaptive scheme to provide the best estimate of the derivative by its automatic choice of a differencing interval. It uses finite difference approximations of various orders, coupled with a generalized (multiple term) Romberg extrapolation. This also yields the error estimate provided. See the document DERIVEST.pdf for more explanation of the algorithms behind the parameters. Note on metOrder: higher order methods will generally be more accurate, but may also suffer more from numerical problems. First order methods would usually not be recommended. Note on method: Central difference methods are usually the most accurate, but sometimes one can only allow evaluation in forward or backward direction. Examples -------- # 1'st and 2'nd derivative of exp(x), at x == 1 >>> import numpy as np >>> fd = Derivative(np.exp) # 1'st derivative >>> fdd = Derivative(np.exp,derOrder=2) # 2'nd derivative >>> fd(1) array([ 2.71828183]) >>> d2 = fdd(1) >>> fdd.error_estimate # Get error estimate array([ 5.95741234e-11]) # 3'rd derivative of x.^3+x.^4, at x = [0,1] >>> fun = lambda x: x**3 + x**4 >>> fd3 = Derivative(fun,derOrder=3) >>> fd3([0,1]) # True derivatives: [6,30] array([ 6., 30.]) >>> fd3.error_estimate array([ 2.65282677e-14, 1.06113071e-13]) See also -------- Gradient, Hessdiag, Hessian, Jacobian
Method Summary | |
---|---|
__init__(self,
fun,
**kwds)
| |
__call__(self,
x00)
| |
Return estimate of n'th derivative of fun at x0 using romberg extrapolation | |
_derivative(self,
x00)
| |
Return derivative estimates of f at x0 for a sequence of stepsizes h... | |
_fun(self,
xi)
| |
_gradient(self,
x00)
| |
_hessdiag(self,
x00)
| |
_hessian(self,
x00)
| |
Return partial derivatives | |
Inherited from Common_diff_par | |
check the parameters for acceptability | |
Return matrix for fda derivation. | |
Return backward differences... | |
Return central differences... | |
Return forward differences... | |
Return Romberg extrapolated derivatives and error estimates based on the initial derivative estimates... | |
Set derivative parameters: stepsize, differention rule and romberg extrapolation | |
Set the steps to use in derivation. | |
Generate finite differencing rule in advance. | |
Set _fdiff fun according to method | |
Member variables used... | |
Inherited from object | |
x.__delattr__('name') <==> del x.name | |
x.__getattribute__('name') <==> x.name | |
x.__hash__() <==> hash(x) | |
helper for pickle | |
helper for pickle | |
x.__repr__() <==> repr(x) | |
x.__setattr__('name', value) <==> x.name = value | |
x.__str__() <==> str(x) | |
Inherited from type | |
T.__new__(S, ...) -> a new object with type S, a subtype of T |
Method Details |
---|
derivative(self, x00)Return estimate of n'th derivative of fun at x0 using romberg extrapolation |
_fder(self, f_x0i, x0i, h)Return derivative estimates of f at x0 for a sequence of stepsizes h Member variables used --------------------- derOrder fdarule numTerms |
_partial_der(self, x00)Return partial derivatives |
Home | Trees | Index | Help |
---|
Generated by Epydoc 2.0 on Sat Nov 22 02:00:54 2008 | http://epydoc.sf.net |