Optimization methods in Python
Project description
optymus is a Python library designed to address optimization problems in science and engineering. Built on JAX, allowing automatic differentiation for efficient computation of gradients and Hessians. The library emphasizes ease of use and flexibility, enabling users to solve optimization problems with minimal setup. optymus also provides robust capabilities for visualization and benchmarking, allowing users to gain insights into method behavior and compare performance effectively.
Getting Started
To begin using optymus, follow these steps:
-
Install optymus:
pip install optymus --upgrade # update version pip install optymus[all] # all dependencies pip install optymus[methods] # without plot dependencies
-
Get Started:
from optymus import Optimizer from optymus.benchmark import MccormickFunction import jax.numpy as jnp f = MccormickFunction() initial_point = jnp.array([2, 2]) opt = Optimizer(f_obj=f, x0=initial_point, method='bfgs') opt.report()
-
Explore the Documentation: Visit the official documentation to understand the available optimization methods and how to use them effectively.
Refer to the documentation for detailed information on each method and its application.
Contributions
Contributions to Optymus are highly appreciated. If you have additional optimization methods, improvements, or bug fixes, please submit a pull request following the contribution guidelines.
How to cite
If you use optymus in your research, please consider citing the library using the following BibTeX entry:
@misc{optymus2024,
author = {da Costa, Kleyton and Menezes, Ivan and Lopes, Helio},
title = {Optymus: Optimization Methods in Python},
year = {2024},
note = {GitHub Repository},
url = {https://github.com/quant-sci/optymus}
}
optymus is part of quantsci project.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optymus-0.1.10.tar.gz.
File metadata
- Download URL: optymus-0.1.10.tar.gz
- Upload date:
- Size: 43.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a0ca57c38042a4800091d67f2e78757b449d4ad6bde4ae654ba6728d4a7edc9
|
|
| MD5 |
7218494b4d4dc28ddbc887554e73d748
|
|
| BLAKE2b-256 |
06afd0e3f1fd13e4d2e7862c8b1f567a9f500054ca45593d80dddbabafa99063
|
File details
Details for the file optymus-0.1.10-py3-none-any.whl.
File metadata
- Download URL: optymus-0.1.10-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef9ef6734fc12dd255dcf61cd658d3c5b19b6aa80af26e77fc3d75489ffec407
|
|
| MD5 |
77ac23a1b651efdce0e3fdab6d171d4d
|
|
| BLAKE2b-256 |
3b220ec2e61632e93e63081ed85e69439099e80df6a51460d90f8c89047cd0bf
|