Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

invrs-opt - Optimization algorithms for inverse design

Continuous integration PyPI version

Overview

The invrs-opt package defines an optimizer API intended for topology optimization, inverse design, or AI-guided design. It (currently) implements the L-BFGS-B optimization algorithm along with some variants. The API is intended to be general so that new algorithms can be accommodated, and is inspired by the functional optimizer approach used in jax. Example usage is as follows:

initial_params = ...

optimizer = invrs_opt.lbfgsb()
state = optimizer.init(initial_params)

for _ in range(steps):
    params = optimizer.params(state)
    value, grad = jax.value_and_grad(loss_fn)(params)
    state = optimizer.update(grad=grad, value=value, params=params, state=state)

Optimizers in invrs-opt are compatible with custom types defined in the totypes package. The basic lbfgsb optimizer enforces bounds for custom types, while the density_lbfgsb optimizer implements a filter-and-threshold operation for DensityArray2D types to ensure that solutions have the correct length scale.

Install

pip install invrs_opt

Metadata

Release files for invrs-opt 0.12.1

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

Source distribution (sdist)

Source distribution for invrs-opt 0.12.1
File Size Uploaded Provenance Actions
invrs_opt-0.12.1.tar.gz 26.2 kB Without provenance Details for invrs_opt-0.12.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for invrs-opt 0.12.1
File Interpreter ABI Platform Actions
invrs_opt-0.12.1-py3-none-any.whl Python 3 none any Details for invrs_opt-0.12.1-py3-none-any.whl

Total release size: 58.4 kB

Release files / invrs_opt-0.12.1.tar.gz

Download URL invrs_opt-0.12.1.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4e942054e0d0715c93ede85bc76d56ec30227775adfec777b33cf53a61a59803
BLAKE2b-256 checksum
How to use checksums
6ece27c2f411ef86cfe3ddda20758a59fb25c0ebea5bda8e859d5e34a6e523fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / invrs_opt-0.12.1-py3-none-any.whl

Download URL invrs_opt-0.12.1-py3-none-any.whl
Size 32.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93e1d645076a3fae521c48f338ccd993a9a0ce9a9fd953c45010d8957a44b0d5
BLAKE2b-256 checksum
How to use checksums
62126ab8428097434b372e788cb62b1a3e6e3648ad0a954fbae9126cb74d12cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Security for invrs-opt 0.12.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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