Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plind-0.1.0.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plind-0.1.0-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

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

Hashes for plind-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a8dbeb98823b142eb92d940559670736b1c0c1ec0a0284fb33002d2b67467ef4
MD5 b28a8220b87dd77d158979f4addab53e
BLAKE2b-256 4690ba7d8aec213d2ef7437095fed5c05926dd5c854694e385e3b636f911c2e8

See more details on using hashes here.

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

Hashes for plind-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc4b6578e28d1ed0ae536b00a07ef32b0215da42439aa5c5cac8cdf23c8ada63
MD5 342a4c187805289af8c91ace0a610a25
BLAKE2b-256 f7806e8255741fc47ea00139b87ae0a46245e5d0fc96a081d45d69bd55477332

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page