Picard-Lefschetz Integration in N-Dimensions for highly oscillatory functions
Project description
plind.py Documentation
Introduction
plind.py (Picard-Lefschetz Integration in N-Dimensions) is a Python package that implements the Picard-Lefschetz method for integrating highly oscillatory functions in any number of dimensions.
Description
This code is for people interested in computing integrals of the form $$I=\int_\Omega \text{d}^n\mathbf{x}\exp i S(\mathbf{x};\mathbf{\mu}).$$ These integrals occur in quantum theory and wave optics. Such integrals are not possible to do using traditional numerical methods due to their highly oscillatory nature.
However, Picard-Lefschetz (PL) theory gives a recipe for computing them by analytically continuing the integration domain to $\mathbb{C}^n$, deforming the integration domain according to certain rules, then integrating on the new domain. This package is an implementation of the PL algorithm in Python.
For details, see papers in the additional information section.
Installation
To use plind.py, run pip install plind.
Usage
To use the code, follow the examples in Example Notebook.ipynb.
Additional Information
For more information on the code and its usage, refer to the docstrings and comments within the code files, or email the authors. See also arXiv:2103.08687 and arXiv:1909.04632 for details on the method.
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 plind-0.1.0.tar.gz.
File metadata
- Download URL: plind-0.1.0.tar.gz
- Upload date:
- Size: 51.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8dbeb98823b142eb92d940559670736b1c0c1ec0a0284fb33002d2b67467ef4
|
|
| MD5 |
b28a8220b87dd77d158979f4addab53e
|
|
| BLAKE2b-256 |
4690ba7d8aec213d2ef7437095fed5c05926dd5c854694e385e3b636f911c2e8
|
File details
Details for the file plind-0.1.0-py3-none-any.whl.
File metadata
- Download URL: plind-0.1.0-py3-none-any.whl
- Upload date:
- Size: 41.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc4b6578e28d1ed0ae536b00a07ef32b0215da42439aa5c5cac8cdf23c8ada63
|
|
| MD5 |
342a4c187805289af8c91ace0a610a25
|
|
| BLAKE2b-256 |
f7806e8255741fc47ea00139b87ae0a46245e5d0fc96a081d45d69bd55477332
|