numdifftools.limits.MinStepGenerator

class numdifftools.limits.MinStepGenerator(base_step=None, step_ratio=4.0, num_steps=None, offset=0, scale=1.2, use_exact_steps=True, path='radial', dtheta=0.39269908169872414)[source][source]

Generates a sequence of steps

where steps = base_step * step_ratio ** (np.arange(num_steps) + offset)

Parameters:

base_step : float, array-like, optional

Defines the base step, if None, then base_step is set to EPS**(1/scale)*max(log(1+|x|), 1) where x is supplied at runtime through the __call__ method.

step_ratio : real scalar, optional, default 4

Ratio between sequential steps generated.

num_steps : scalar integer, optional, default n + order - 1 + num_extrap

defines number of steps generated. It should be larger than n + order - 1

offset : real scalar, optional, default 0

offset to the base step

scale : real scalar, optional

scale used in base step. If not None it will override the default computed with the default_scale function.

use_exact_steps: bool

path : ‘spiral’ or ‘radial’

Specifies the type of path to take the limit along.

dtheta: real scalar

If the path is spiral it will follow an exponential spiral into the limit, with angular steps at dtheta radians.

__init__(base_step=None, step_ratio=4.0, num_steps=None, offset=0, scale=1.2, use_exact_steps=True, path='radial', dtheta=0.39269908169872414)[source][source]

Methods

__init__([base_step, step_ratio, num_steps, ...])