pub fn evaluate_jacobian_from_finite_difference<'a, M, D, T>(
    jacobian: &mut JacobianMatrix<D>,
    model: &mut M,
    iters_params: &'a Iteratives<'a, T>,
    residuals_config: &'a ResidualsConfig<'a>
) -> Result<(), SolverInternalError<M, D>>where
    M: Model<D>,
    T: Iterative + Display,
    D: DimMin<D, Output = D>,
    DefaultAllocator: Allocator<f64, D>,
    DefaultAllocator: Allocator<f64, D, D>,
    DefaultAllocator: Allocator<(usize, usize), D>,