pyfebiopt.optimize.jacobian
===========================

.. py:module:: pyfebiopt.optimize.jacobian

.. autoapi-nested-parse::

   Finite-difference Jacobian helper used by the optimization engine.



Classes
-------

.. autoapisummary::

   pyfebiopt.optimize.jacobian.JacobianComputer


Module Contents
---------------

.. py:class:: JacobianComputer

   Simple forward-difference Jacobian generator.

   :param perturbation: Step size applied to each optimization parameter (in φ-space).
   :param parallel: When ``True`` the evaluator distributes column perturbations across a
                    worker pool so FEBio simulations can run concurrently.
   :param max_workers: Optional override for the number of worker threads used for parallel
                       evaluation. Defaults to ``os.cpu_count()`` when unset.


   .. py:attribute:: perturbation
      :type:  float
      :value: 1e-06



   .. py:attribute:: parallel
      :type:  bool
      :value: True



   .. py:attribute:: max_workers
      :type:  int | None
      :value: None



   .. py:method:: compute(phi0: Array, theta_fn: collections.abc.Callable[[Array], Array], residual_fn: collections.abc.Callable[[Array, str | None], Array], *, label_fn: collections.abc.Callable[[int], str | None] | None = None, base_residual: Array | None = None) -> tuple[Array, Array]

      Compute residuals and a forward-difference Jacobian.

      :returns: Tuple ``(r0, J)`` where ``r0`` is the base residual vector and ``J`` is
                the forward-difference Jacobian matrix.



