Skip to main content

Faster simulations of fermionic quantum circuits.

Project description

ffsim

Faster simulations of fermionic quantum circuits.

What is ffsim?

ffsim is a software library for simulating fermionic quantum circuits that preserve particle number and the Z component of spin. This category includes many quantum circuits used for quantum chemistry simulations. By exploiting the symmetries and using specialized algorithms, ffsim can simulate these circuits much faster than a generic quantum circuit simulator.

Experimental disclaimer: ffsim is currently an experimental release. Breaking changes may be introduced without warning.

Features

  • Fast simulation of fermionic quantum circuits that preserve particle number and the Z component of spin. ffsim supports the simulation of basic fermionic gates and includes specialized routines for simulation of molecular Hamiltonians in the "double-factorized" representation.
  • Compatible with PySCF. State vectors use the same indexing convention as PySCF's fci module.

Limitations

  • There is no support for operations that do not preserve particle number and the Z component of spin.

Supported platforms

ffsim is supported on Linux, macOS, and the Windows Subsystem for Linux (WSL). It is not supported on Windows.

Installation

From PyPI

ffsim is available on PyPI. It can be installed by running the command

pip install ffsim

From source

Installing ffsim from source requires the following system dependencies:

  • A Rust compiler. See these instructions.

  • A BLAS implementation. For example:

    • Arch Linux:

      sudo pacman -S blas-openblas
      
    • Fedora:

      sudo dnf install openblas-devel
      
    • Ubuntu:

      sudo apt install libopenblas-dev
      

Once these dependencies are satisfied, ffsim can be installed by running the command

pip install .

from the root directory of the code repository.

Development

To set up ffsim for development, install it from source in editable mode along with the development requirements:

pip install -e ".[dev]"

If you add or modify any Rust modules, rebuild them by running the command

maturin develop

If you are benchmarking the code, then pass the --release flag:

maturin develop --release

Tests and other code checks are managed using tox. To run the default tox environments, simply run

tox

To run a specific environment, for example, to run the lint checks, do

tox run -e lint

You can also use pytest to run the tests directly. For example,

pytest tests/

Cite ffsim

You can cite ffsim using the following BibTeX:

@software{ffsim,
  author = {{The ffsim developers}},
  title = {ffsim},
  url = {https://github.com/qiskit-community/ffsim}
}

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

ffsim-0.0.9.tar.gz (87.0 kB view details)

Uploaded Source

Built Distributions

ffsim-0.0.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

ffsim-0.0.9-cp38-abi3-macosx_10_9_x86_64.whl (523.1 kB view details)

Uploaded CPython 3.8+ macOS 10.9+ x86-64

File details

Details for the file ffsim-0.0.9.tar.gz.

File metadata

  • Download URL: ffsim-0.0.9.tar.gz
  • Upload date:
  • Size: 87.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for ffsim-0.0.9.tar.gz
Algorithm Hash digest
SHA256 bd807c4c0d260f14b49336e708ced8f72a05c08a152d0ce3f58db0ae9f6b4dfb
MD5 65d3ab55d06d24eec243421ccd992f2a
BLAKE2b-256 44730a674ae24e0d1adf0b2d2be576e9763c16ffe468b8aef7a301a7eceef858

See more details on using hashes here.

Provenance

File details

Details for the file ffsim-0.0.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ffsim-0.0.9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 299115f3f92e5ca4e77c1f6a08969bc5a69f85cd67a992eee07e3010fc035f6d
MD5 20dbe2a5985909aa136bb4f4aa9a2f8d
BLAKE2b-256 6f4476e280d173e3970aa477b4e4e94e55ac6e11cdebf390897f0f9baac56654

See more details on using hashes here.

Provenance

File details

Details for the file ffsim-0.0.9-cp38-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ffsim-0.0.9-cp38-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6834e80532dd3739fca501ae84fd0dc3fc48fc84314930075265d7af0e47b799
MD5 89b3dd16ef2396130cb8c854fee917b9
BLAKE2b-256 7d5398357616678577a733e41654e9d1509bb0011daf173e31310cb58ded18cb

See more details on using hashes here.

Provenance

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