pyfebiopt.optimize.optimizers ============================= .. py:module:: pyfebiopt.optimize.optimizers .. autoapi-nested-parse:: Adapters that bridge scipy optimizers to the engine interface. Attributes ---------- .. autoapisummary:: pyfebiopt.optimize.optimizers.BoundsLike pyfebiopt.optimize.optimizers.Callback Classes ------- .. autoapisummary:: pyfebiopt.optimize.optimizers.OptimizerAdapter pyfebiopt.optimize.optimizers.ScipyLeastSquaresAdapter pyfebiopt.optimize.optimizers.ScipyMinimizeAdapter Module Contents --------------- .. py:data:: BoundsLike .. py:data:: Callback .. py:class:: OptimizerAdapter Abstract interface implemented by optimizer adapters. .. py:method:: minimize(fun: collections.abc.Callable[[numpy.ndarray], numpy.ndarray], jac: collections.abc.Callable[[numpy.ndarray], numpy.ndarray] | None, phi0: numpy.ndarray, bounds: BoundsLike, callbacks: collections.abc.Iterable[Callback] | None = None) -> tuple[numpy.ndarray, dict[str, object]] :abstractmethod: Minimise the objective using the configured optimizer. :returns: Tuple of optimal vector and optimizer metadata dictionary. .. py:method:: build(name: str, options: collections.abc.Mapping[str, float | str | int] | None) -> OptimizerAdapter :staticmethod: Construct an adapter by name. :returns: Concrete OptimizerAdapter ready for use with the engine. .. py:class:: ScipyLeastSquaresAdapter(**kwargs: float | str | int) Bases: :py:obj:`OptimizerAdapter` Adapter that wraps :func:`scipy.optimize.least_squares`. Store keyword arguments forwarded to SciPy. .. py:attribute:: kwargs :type: dict[str, float | str | int] .. py:method:: minimize(fun: collections.abc.Callable[[numpy.ndarray], numpy.ndarray], jac: collections.abc.Callable[[numpy.ndarray], numpy.ndarray] | None, phi0: numpy.ndarray, bounds: BoundsLike, callbacks: collections.abc.Iterable[Callback] | None = None) -> tuple[numpy.ndarray, dict[str, object]] Run SciPy least_squares and report optimizer metadata. :returns: Tuple of optimal φ vector and metadata dictionary. .. py:class:: ScipyMinimizeAdapter(method: str = 'L-BFGS-B', **kwargs: float | str | int) Bases: :py:obj:`OptimizerAdapter` Adapter that wraps :func:`scipy.optimize.minimize`. Store method name and keyword arguments. .. py:attribute:: method :value: 'L-BFGS-B' .. py:attribute:: kwargs .. py:method:: minimize(fun: collections.abc.Callable[[numpy.ndarray], numpy.ndarray], jac: collections.abc.Callable[[numpy.ndarray], numpy.ndarray] | None, phi0: numpy.ndarray, bounds: BoundsLike, callbacks: collections.abc.Iterable[Callback] | None = None) -> tuple[numpy.ndarray, dict[str, object]] Run SciPy minimize and report optimizer metadata. :returns: Tuple of optimal φ vector and metadata dictionary.