5.1.2.4. numdifftools.step_generators.MaxStepGenerator

class MaxStepGenerator(base_step=2.0, step_ratio=None, num_steps=15, step_nom=None, offset=0, num_extrap=9, use_exact_steps=False, check_num_steps=True, scale=500)[source]

Generates a sequence of steps

where

steps = step_nom * base_step * step_ratio ** (-i + offset)

for i = 0, 1, …, num_steps-1.

Parameters
base_stepfloat, array-like, default 2.0

Defines the maximum step, if None, the value is set to EPS**(1/scale)

step_ratioreal scalar, optional, default 2 or 1.6

Ratio between sequential steps generated. Note: Ratio > 1 If None then step_ratio is 2 for n=1 otherwise step_ratio is 1.6

num_stepsscalar integer, optional, default min_num_steps + num_extrap

defines number of steps generated. It should be larger than min_num_steps = (n + order - 1) / fact where fact is 1, 2 or 4 depending on differentiation method used.

step_nomdefault maximum(log(exp(1)+|x|), 1)

Nominal step where x is supplied at runtime through the __call__ method.

offsetreal scalar, optional, default 0

offset to the base step

num_extrapscalar integer, default 0

number of points used for extrapolation

check_num_stepsboolean, default True

If True make sure num_steps is larger than the minimum required steps.

use_exact_stepsboolean, default True

If true make sure exact steps are generated

scalereal scalar, default 500

scale used in base step.

__init__(base_step=2.0, step_ratio=None, num_steps=15, step_nom=None, offset=0, num_extrap=9, use_exact_steps=False, check_num_steps=True, scale=500)[source]

Methods

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

step_generator_function(x[, method, n, order])

Step generator function

Attributes

base_step

Base step defines the minimum or maximum step when offset==0.

min_num_steps

Minimum number of steps required given the differentiation method and order.

num_steps

Defines number of steps generated

scale

Scale used in base step.

step_nom

Nominal step

step_ratio

Ratio between sequential steps generated