scirs2-python 0.4.3

Python bindings for SciRS2 - A comprehensive scientific computing library in Rust (SciPy alternative)
Documentation
Optimization (``scirs2.optimize``)
====================================

Numerical optimization: unconstrained, constrained, global, and
curve-fitting routines.

.. automodule:: scirs2.optimize
   :members:
   :undoc-members:
   :show-inheritance:

Function Reference
------------------

Unconstrained Minimization (``minimize_py``)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

   result = scirs2.minimize_py(
       fun=lambda x: (x[0]-1)**2 + (x[1]-2)**2,
       x0=[0.0, 0.0],
       method="L-BFGS-B",
   )
   print(result["x"], result["fun"])

Supported methods: ``Nelder-Mead``, ``BFGS``, ``L-BFGS-B``, ``CG``,
``Newton-CG``, ``SLSQP``

Constrained Minimization
~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

   constraints = [{"type": "ineq", "fun": lambda x: x[0] - 0.5}]
   result = scirs2.minimize_py(fun, x0, method="SLSQP",
                               constraints=constraints)

Global Optimization
~~~~~~~~~~~~~~~~~~~

- ``differential_evolution_py(fun, bounds)``
- ``basin_hopping_py(fun, x0)``

Curve Fitting
~~~~~~~~~~~~~

.. code-block:: python

   def model(x, a, b):
       return a * np.exp(-b * x)

   popt, pcov = scirs2.curve_fit_py(model, x_data, y_data)

Extended
~~~~~~~~

- ``sqp_py`` — Sequential Quadratic Programming
- ``interior_point_lp_py`` — Linear programming (interior-point)
- ``interior_point_qp_py`` — Quadratic programming (interior-point)