Skip to main content

Analytical continuation suits for Green Software Package

Project description

GitHub license GitHub license

grids codecov

 █▀▀█ █▀▀█ █▀▀ █▀▀ █▀▀▄
 █ ▄▄ █▄▄▀ █▀▀ █▀▀ █  █
 █▄▄█ ▀ ▀▀ ▀▀▀ ▀▀▀ ▀  ▀

 █▀▀█ █▀▀█ █▀▀▄ ▀▀█▀▀  ▀  █▀▀▄ █  █ █▀▀█ ▀▀█▀▀  ▀  █▀▀█ █▀▀▄
 █    █  █ █  █   █   ▀█▀ █  █ █  █ █▄▄█   █   ▀█▀ █  █ █  █
 █▄▄█ ▀▀▀▀ ▀  ▀   ▀   ▀▀▀ ▀  ▀  ▀▀▀ ▀  ▀   ▀   ▀▀▀ ▀▀▀▀ ▀  ▀

Green/Continuation is an Analytical continuation toolkit for Green Software Package

Installation

Green/Continuation comes in two forms

  • C++ application
  • Python package

Dependencies

Green/Continuation has the following required external dependencies

  • HDF5 library version >= 1.10.2
  • Message Passing Interface >= 3.1 (for C++ application)
  • Eigen3 library >= 3.4.0
  • GNU Multiprecision library
  • pybind11 (optional to build python wrapper)

To build Green/Continuation CMake version 3.18 or above is required

Build and Install C++ application

The following example will build, test and install Green/Continuation to /path/to/weakcoupling/install/dir directory.

$ git clone https://github.com/Green-Phys/green-ac
$ cd green-ac
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/path/to/install/dir ..
$ make
$ make test
$ make install

Installation of Python package

We provide pre-built binaries for major Linux distributions and recent MacOS version via pip. For installation using pip simply type pip install green-ac. If pre-built binaries can not be used, package will be built from sources.

Usage

C++ application

After the Green/Continuation is built and installed, spectral function could be obtained by calling

<install dir>/bin/ac.exe  --BETA <Inverse temperature> --grid_file <grid file>    \
   --input_file <input file> --output_file <output file> --group <HDF5 group with data> \
   --e_min -5.0 --e_max 5.0 --n_omega 4000 --eta 0.01 \
   --kind Nevanlinna
  • BETA -- the inverse temperature that was used to obtain results
  • grid_file -- name of the grid file that was used to obtain results
  • input_file -- name of the file that contains imaginary time data
  • output_file -- name of the file to store results of the continuation
  • group -- name of the group that contains data and mesh datasets with imaginary time data and grid
  • e_min -- lowest frequency on the real axis
  • e_max -- largest frequency on the real axis
  • n_omega -- number of frequency points on the real axis
  • eta -- broadening parameter
  • kind -- type of continuation to be used (current version only supports Nevanlinna)

After the completetion, results will be stored in group HDF5 group in the output_file file.

Python

In addition to C++ application, Green/Continuation provides a convinient Python package that can work directly with numpy arrays. It supports two types of parallelism, using ProcessPoolExecutor from concurrent.futures and MPI parallelization using mpi4py library.

To use Green/Continuation simply import it in your script as

import green_ac

and call solve function with the following parameters:

  • Type of the continuation (currently we only provide Nevanlinna)
  • Matsubara frequency grid
  • Real frequency grid
  • Data in Matsubara frequency domain
  • Precision

Here is an example how to obtain real frequency Green's function for a simple two-pole non-interacting Green's function with precision at least 512 bits:

imgrid = (2*np.linspace(-50,49,100) + 1) * 1.j *np.pi/ 2
grid = np.linspace(-2,2,1001) + 0.01j
data = 0.5*(1/(imgrid + 0.5) + 1/(imgrid - 0.5))
data_out = green_ac.solve("Nevanlinna", imgrid, grid, data, 512)

Here we have 100 positive and negative Matsubara frequencies, define real frequency grid to have 1000 points and to be from -2 to 2 with broadening parameter 0.01, We define Green's function on Matsubara grid with poles at -0.5 and 0.5. Real frequency data will be stored in data_out array.

Acknowledgements

This work is supported by National Science Foundation under the award OCA-2310582

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

green_ac-0.2.7.tar.gz (135.7 kB view details)

Uploaded Source

Built Distributions

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

green_ac-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl (436.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp313-cp313-macosx_14_0_arm64.whl (358.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

green_ac-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl (436.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp312-cp312-macosx_14_0_arm64.whl (358.6 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

green_ac-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl (434.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp311-cp311-macosx_14_0_arm64.whl (356.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

green_ac-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl (433.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp310-cp310-macosx_14_0_arm64.whl (355.8 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

green_ac-0.2.7-cp39-cp39-manylinux_2_28_x86_64.whl (433.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp39-cp39-macosx_14_0_arm64.whl (355.8 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

green_ac-0.2.7-cp38-cp38-manylinux_2_28_x86_64.whl (433.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

green_ac-0.2.7-cp38-cp38-macosx_14_0_arm64.whl (355.7 kB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

File details

Details for the file green_ac-0.2.7.tar.gz.

File metadata

  • Download URL: green_ac-0.2.7.tar.gz
  • Upload date:
  • Size: 135.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for green_ac-0.2.7.tar.gz
Algorithm Hash digest
SHA256 6707465dfab1263883e21ff9a33d878f8fb52e83ab2b73261631bb99ba7b77c2
MD5 a9c2ed81cd2e8835f4981ad309d2135b
BLAKE2b-256 99863bdc51c0f3e48f9a1f9a50b626b24d40628a3efc9e02119e9aca68a7195b

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7.tar.gz:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a6f26ad007cb0ecd8fc301b95c7ac02115f3b85e9fce96960a4a1513ba6827d
MD5 fe0452b36ebe216c49ceea90573421a0
BLAKE2b-256 8c816ad0d187f72e520ddbc44d54b9ea6f908698c4c3372914111e462be1ce9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8013bff6b9acba53ec7ea6a5082e7c9d705d85e0d3e7c145471ff91af5f2a3dd
MD5 ff8f751ff5dc6dab054f879deb732c77
BLAKE2b-256 5d302a2e84308916110acee2f3ffb1d6353004c3f814a84eab9b02f15c786f72

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e00d1662b97164b8be29001b5573f5dd346d7c9414899aff26dd9db4c19bb382
MD5 4764215d1163177472f2e74434f1b5d9
BLAKE2b-256 8cf17b09b66a22a0596c156096ca7d02cfe6faca298bf752a747d52ef65af44f

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c1bc5d3130d6faf25340601d69881b07f0bff094ae5c2fdee7a98a281c20513f
MD5 2f176c24063371fe3ee917ca0feb26c8
BLAKE2b-256 77e803c1c6057d88347508a0770685dfa2d8152317f6f60d2e72ca26293f3613

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f7142b717c9fbd582b24f3d26fe8acabc2c9e11cc57ee91ee40209452fdcaf6
MD5 b4a3a93892733b6e626537c33a6b60db
BLAKE2b-256 b289ebae65974050928969d577b2bc19340c140ea9f0598969b4fbbdee28f8b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2927313b441271199aebfe9f62e680050248d87306784b724846b8ad8436c3cc
MD5 ef84e9abb34f56a0e5eab3218de14d40
BLAKE2b-256 8d9e9de81837049ebd1385b21c32163c2ead4e7a7db678449903c53b0df60630

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e03017a2db37f23b1a00aa73fa0bbe20739074d00d6ee46b2db7769e3046ffa
MD5 cdd829835c72109db418e0350a773936
BLAKE2b-256 69cbce80b225ac69f322f986d41a0321dc80957cfbcf065aa60397950a529411

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0aaa55f7eb211ade109e1e71cde6b9d52596d580ec9472396db23cda79b76adf
MD5 01b75464548ae8fe10b3818bc11886a8
BLAKE2b-256 8d557adddd3c8fcaad2f430a080570b36428f2d59c21543806ab9c6a1cf61da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a9cf9ce852282d99cf00983e170a4561c0bf0778272b09bb81d1c404bdac67a
MD5 159a461db32e2887578913598a674baf
BLAKE2b-256 88183c97177b34ca7503e92ee4a3094092fab549d2ba2d2b4477641b60c477a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 90e285224018ebb93686aa945af3a4008e4e5a9c67fd03e902da81c52393ebc8
MD5 23784becf2ea46e904ee8092e8c35b6c
BLAKE2b-256 0a4753878fa2b39cae694d961dbbb129954425fc2bfa48de9beeb71d3f6aae37

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b12890123fb36d323d55f4490dd0f580fcc14f2466ca587482aa635620bb9797
MD5 8d4b86c25da93f484a2186c237eb475e
BLAKE2b-256 16ac2b42b01a034189e52dcbef910454a062bd9a982420391d17037219716088

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp38-cp38-manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file green_ac-0.2.7-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for green_ac-0.2.7-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8064c73b79dd85d7224ab7ae5c166e46cc9562a18b999204105937703b07fa25
MD5 87fa6106d147428aab6c117a24678b89
BLAKE2b-256 1779056a55d9368bae4650e2b9713e39aaf3da413c6e502857730eff157857f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for green_ac-0.2.7-cp38-cp38-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on Green-Phys/green-ac

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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