FiniteDifferenceDerivative

Provides derivatives for a function (scalar or vector valued). Can be indexed into or the entire tensor of derivatives may be requested. The potential for optimization undoubtedly exists, but the idea is to provide as simple an interface as possible. Robustification needs to be done, but is currently used in CoordinateSystem.jacobian to good effect.

Properties and Methods

 

__init__(self, f, function_shape=(0, 0), **fd_opts): 
  • f: FunctionSpec | callable

    the function we would like to take derivatives of

  • function_shape: Iterable[Iterable[int] | int] | None

    the shape of the function we’d like to take the derivatives of

  • fd_opts: Any

    the options to pass to the finite difference function

 

__call__(self, *args, **opts): 

 

derivatives(self, center, displacement_function=None, prep=None, lazy=None, mesh_spacing=None, **fd_opts): 

Generates a differencer object that can be used to get derivs however your little heart desires

  • center: np.ndarray

    the center point around which to generate differences

  • displacement_function: Any

    No description…

  • mesh_spacing: Any

    No description…

  • prep: Any

    No description…

  • fd_opts: Any

    No description…

  • :returns: _

    No description…

Examples

FiniteDifferenceDerivative

Provides derivatives for a function (scalar or vector valued). Can be indexed into or the entire tensor of derivatives may be requested. The potential for optimization undoubtedly exists, but the idea is to provide as simple an interface as possible. Robustification needs to be done, but is currently used in CoordinateSystem.jacobian to good effect.

Properties and Methods

 

__init__(self, f, function_shape=(0, 0), **fd_opts): 
  • f: FunctionSpec | callable

    the function we would like to take derivatives of

  • function_shape: Iterable[Iterable[int] | int] | None

    the shape of the function we’d like to take the derivatives of

  • fd_opts: Any

    the options to pass to the finite difference function

 

__call__(self, *args, **opts): 

 

derivatives(self, center, displacement_function=None, prep=None, lazy=None, mesh_spacing=None, **fd_opts): 

Generates a differencer object that can be used to get derivs however your little heart desires

  • center: np.ndarray

    the center point around which to generate differences

  • displacement_function: Any

    No description…

  • mesh_spacing: Any

    No description…

  • prep: Any

    No description…

  • fd_opts: Any

    No description…

  • :returns: _

    No description…

Examples


Edit Examples or Create New Examples
Edit Template or Create New Template
Edit Docstrings


Edit Examples or Create New Examples
Edit Template or Create New Template
Edit Docstrings