Skip to main content

Automatic angular-momentum reduction

Project description

Read the Docs PyPI version PyPI license DOI:10.5281/zenodo.3663058

In quantum many-body theory, one often encounters problems with rotational symmetry. While methods are most conveniently derived in schemes that do not exploit the symmetry, a symmetry-adapted formulation can lead to orders of magnitude savings in computation time. However, actually reducing the formulas of a many-body method to symmetry-adapted form is tedious and error-prone.

The AMC package aims to help practitioners by automating the reduction process. The unreduced (m-scheme) equations can be entered via an easy-to-use language. The package then uses Yutsis graph techniques to reduce the resulting network of angular-momentum variables to irreducible Wigner 6j and 9j symbols, and outputs the reduced equations as a LaTeX file. Moreover, the package is based on abstract representations of the unreduced and reduced equations in the form of syntax trees, which enable other uses such as automatic generation of code that evaluates the reduced equations.

Installation

Install amc using the pip package manager.

pip install amc

Usage

Prepare a file with the properties of the tensors and the equations to reduce. For example, second-order many-body perturbation theory can be reduced in this way:

# mbpt.amc

declare E2 {
    mode=0,
    latex="E^{(2)}_{0}",
}

# Hamiltonian
declare H {
    mode=4,
    latex="H",
}

E2 = 1/4 * sum_abij(H_abij * H_ijab);

Then run the amc program on the input

amc -o mbpt.tex mbpt.amc

The result is

E^{(2)}_{0} = \frac{1}{4} \sum_{a b i j {J}_{0}} \hat{J}_{0}^{2}
H_{a b i j}^{{J}_{0} {J}_{0} 0} H_{i j a b}^{{J}_{0} {J}_{0} 0}

See the User’s Guide for details.

Citing

Releases of this code are deposited to the Zenodo repository. If you use it in research work please cite the version used. Go to the Zenodo record to find bibliographic information for each release.

If you use this code in research work please also cite the following publication

A. Tichai, R. Wirth, J. Ripoche, T. Duguet. Symmetry reduction of tensor networks in many-body theory I. Automated symbolic evaluation of SU(2) algebra. arXiv:2002.05011 [nucl-th]

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GPLv3

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

amc-0.9.5.tar.gz (110.9 kB view details)

Uploaded Source

Built Distribution

amc-0.9.5-py3-none-any.whl (110.3 kB view details)

Uploaded Python 3

File details

Details for the file amc-0.9.5.tar.gz.

File metadata

  • Download URL: amc-0.9.5.tar.gz
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for amc-0.9.5.tar.gz
Algorithm Hash digest
SHA256 9d6ca6002edb52fe964e1ff3ab4cd7028ff553e767d86dc1ba00a2b6271c6c3b
MD5 2b5d483f107045806e6c41440a5190d5
BLAKE2b-256 ad0137129b231e3001040f708c89c188ec50e5ccb3acc355e2effafbebc72677

See more details on using hashes here.

File details

Details for the file amc-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: amc-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for amc-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 faec7b2c585406da787ef327f6f6bbcc07208eb1704656f039a25d6dde1319eb
MD5 92f0f21a2945df1b7d88625a3e516164
BLAKE2b-256 b1a843b7c431e0e9845691df312e0baa464d023cebe4358be279ebf54f16dfcb

See more details on using hashes here.

Supported by

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