parallel_finite_difference_jacobian

Function parallel_finite_difference_jacobian 

Source
pub fn parallel_finite_difference_jacobian<F, Func>(
    f: &Func,
    t: F,
    y: &Array1<F>,
    f_current: &Array1<F>,
    perturbation_scale: F,
) -> IntegrateResult<Array2<F>>
where F: IntegrateFloat + Send + Sync, Func: Fn(F, ArrayView1<'_, F>) -> Array1<F> + Sync,
Expand description

Compute Jacobian matrix using parallel finite differences

This function divides the work of computing each column of the Jacobian across multiple threads, which can provide significant speedup for large systems.

§Arguments

  • f - Function to differentiate
  • t - Time value
  • y - State vector
  • f_current - Current function evaluation at (t, y)
  • perturbation_scale - Scaling factor for perturbation size

§Returns

Jacobian matrix (∂f/∂y)

§Features

Requires the “parallel_jacobian” feature to be enabled for actual parallel execution. Falls back to serial execution if the feature is not enabled.