A Python package for calculating limits on the performance of photonic devices using dual optimization methods.
Reason this release was yanked:
broken wheel
Project description
Dolphindes 🐬
Dolphindes (very loosely, Dual Optimization Limits for PHotonic/PHysical INverse DESign) is a Python package for calculating limits on the performance of photonic devices using dual optimization methods. It can calculate structure-agnostic performance bounds for a wide range of photonic problems. The package works by relaxing the photonic inverse design problem into a field optimization problem, which can then be further relaxed into a convex problem using Lagrange duality.
📦 Installation
1. Install System Dependencies
Make sure you have libsuitesparse-dev installed. This is required by scikit-sparse
For Debian/Ubuntu systems:
sudo apt-get update
sudo apt-get install libsuitesparse-dev
2. Clone this repo and activate the provided conda environment dolphindes.yml
3. If using your own environment, instead run
pip install .
🔧 Running Tests
To run the dolphindes tests, simply run
pytest
Optionally, provide the -s flag to print the output of the tests. You will need to have pytest and pytest-dependency installed in your environment.
📚 Documentation and Tutorials
Documentation may be found at dolphindes.readthedocs.io
Citations
If you use dolphindes in your work, please cite the following paper:
[Review article coming soon]
Additionally, if you use dolphindes to do Verlan design, you should cite the initial Verlan papers:
@article{chao_amaolo_blueprints_2025,
title = {Bounds as blueprints: towards optimal and accelerated photonic inverse design},
author = {Pengning Chao and Alessio Amaolo and Sean Molesky and Alejandro W. Rodriguez},
journal = {Opt. Express},
keywords = {Fourier transforms; Inverse design; Raman scattering; Ring resonators; Stochastic processes; Whispering gallery modes},
number = {5},
pages = {7337--7350},
publisher = {Optica Publishing Group},
volume = {34},
month = {Mar},
year = {2026},
url = {https://opg.optica.org/oe/abstract.cfm?URI=oe-34-5-7337},
doi = {10.1364/OE.585505},
}
@article{molesky_verlan_2025,
title = {Inferring {{Structure}} via {{Duality}} for {{Photonic Inverse Design}}},
author = {Molesky, Sean and Chao, Pengning and Amaolo, Alessio and Rodriguez, Alejandro W.},
year = {2025},
month = apr,
number = {arXiv:2504.14083},
eprint = {2504.14083},
primaryclass = {math},
publisher = {arXiv},
doi = {10.48550/arXiv.2504.14083},
archiveprefix = {arXiv}
}
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 dolphindes-0.2.0.tar.gz.
File metadata
- Download URL: dolphindes-0.2.0.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
697ebd615ebd74967f6e117067600e3da5dff049c6e2261b143a804d9509602d
|
|
| MD5 |
cd0e40a236d459de6ba4eb62e6d7ecf4
|
|
| BLAKE2b-256 |
605efb5221f53fa4c776b16cd7a3369e202d5c4c0c7eb45f41e5f8f9b176872f
|
File details
Details for the file dolphindes-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dolphindes-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a539885a4aae1ee5012a393c401d72089bac5fe546a0dd918b0cd38c5b1ffd88
|
|
| MD5 |
4cc422db4d3515d8504f984597f9ecd8
|
|
| BLAKE2b-256 |
c231ce8abb8dc736c8210a3461fdd46bb1c530155b3a17cc1f2c871ac4bb247c
|