Jacobian Options

The Jacobian section allows you to control which methods for computing Jacobians the software uses.

Analytic (analytic)

Analytic Jacobians can only be used for specific Problem Definition Files. Currently the supported formats are cutest and NIST. The only option is:

  • default - use the analytic derivative provided by a supported format.

Default is default

[JACOBIAN]
analytic: default

SciPy (scipy)

Calculates the Jacobian using the numerical Jacobian in SciPy, this uses scipy.optimize._numdiff.approx_derivative. The supported options are:

  • 2-point - use the first order accuracy forward or backward difference.

  • 3-point - use central difference in interior points and the second order accuracy forward or backward difference near the boundary.

  • cs - use a complex-step finite difference scheme. This assumes that the user function is real-valued and can be analytically continued to the complex plane. Otherwise, produces bogus results.

Default is 2-point

Licence SciPy is available under a 3-clause BSD Licence. Individual packages may have their own (compatible) licences, as listed here.

[JACOBIAN]
scipy: 2-point

Solver Default Jacobian (default)

This uses the approximation of the Jacobian that is used by default in the minimizer, and will vary between solvers. If the minimizer requires the user to pass a Jacobian, a warning will be printed to the screen and the SciPy (scipy) 2-point approximation will be used. The only option is:

  • default - use the default derivative approximation provided by the software.

Default is default

[JACOBIAN]
default: default

Numdifftools (numdifftools)

Calculates the Jacobian using the python package numdifftools. We allow the user to change the method used, but other options (e.g, the step size generator and the order of the approximation) are set the defaults. The supported options are:

  • central - central differencing. Almost as accurate as complex, but with no restriction on the type of function.

  • forward - forward differencing.

  • backward - backward differencing.

  • complex - based on the complex-step derivative method of Lyness and Moler. Usually the most accurate, provided the function is analytic.

  • multicomplex - extends complex method using multicomplex numbers. (see, e.g., Lantoine, Russell, Dargent (2012)).

Default is central.

Licence numdifftools is available under a 3-clause BSD Licence.

[JACOBIAN]
numdifftools: central