Skip to main content

optimagic


PyPI PyPI - Python Version image image PyPI - License image image image pre-commit.ci status Ruff Downloads NumFOCUS

optimagic is a Python package for numerical optimization. It is a unified interface to optimizers from SciPy, NlOpt, and many other Python packages. Its features include:

  • SciPy-compatible API. optimagic's minimize function works just like SciPy's, so you don't have to adjust your code. You simply get more optimizers for free.
  • Powerful diagnostic tools. Visualize optimizer histories, compare runs, and diagnose convergence problems.
  • Parallel numerical derivatives. Compute gradients, jacobians, and hessians with parallel execution.
  • Bounded, constrained, and unconstrained optimization. Support for bounds, linear constraints, nonlinear constraints, fixed parameters, and more.
  • Statistical inference on estimated parameters. The estimagic subpackage provides functionality for confidence intervals, standard errors, and p-values.

Installation

optimagic is available on PyPI and on conda-forge. Install the package with

$ pip install optimagic

or

$ conda install -c conda-forge optimagic

optimagic ships with all scipy optimizers out of the box. Additional algorithms become available if you install optional packages. For an overview of all supported optimizers and how to enable them, see the list of algorithms.

Usage

import optimagic as om
import numpy as np


def fun(x):
    return x @ x


result = om.minimize(fun, params=np.array([1, 2, 3]), algorithm="scipy_lbfgsb")
result.params.round(9)  # np.array([0., 0., 0.])

Documentation

You find the documentation at https://optimagic.readthedocs.io with tutorials and how-to guides.

Changes

Consult the release notes to find out about what is new.

License

optimagic is distributed under the terms of the MIT license.

Citation

If you use optimagic for your research, please cite it with the following key to help others discover the tool.

@Unpublished{Gabler2024,
    Title  = {optimagic: A library for nonlinear optimization},
    Author = {Janos Gabler},
    Year   = {2022},
    Url    = {https://github.com/optimagic-dev/optimagic}
}

Acknowledgment

We thank all institutions that have funded or supported optimagic (formerly estimagic).

Metadata

Release files for optimagic 0.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for optimagic 0.5.4
File Size Uploaded
optimagic-0.5.4.tar.gz 412.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for optimagic 0.5.4
File Interpreter ABI Platform
optimagic-0.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 887.2 kB

Release files / optimagic-0.5.4.tar.gz

Download URL optimagic-0.5.4.tar.gz
Size 412.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bf3fd655a60fef0f40c18f81870f30fc1db7ed783a620dcad0bb9526ff6985e7
BLAKE2b-256 checksum
How to use checksums
f9bf4e743abaa65147bc3d6d7e93638096a8efed94f9053cdf6039ea57409ac2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / optimagic-0.5.4-py3-none-any.whl

Download URL optimagic-0.5.4-py3-none-any.whl
Size 475.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e93d15d39875f36294cb4f138c33c9606b351c0bc0c0194ca6476094406e19e
BLAKE2b-256 checksum
How to use checksums
7157cab04d396d8818a90e0bedb097826fe28bdb39cb66c937541f38f7547641
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page