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.

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 a Rust compiler to be present on the system. A Rust compiler can be installed by following the instructions here. Once the Rust compiler is installed, ffsim can be installed by running the command

pip install .

from the root directory of the code repository.

Installing from source has only been tested in a Linux environment.

Known issues

  • It may be a bit tricky to get OpenBLAS to link successfully. If you have issues, try the following:
    • Run pip install patchelf.
    • Run pip install -e . twice in a row.

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 --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/

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.3.tar.gz (69.3 kB view details)

Uploaded Source

Built Distributions

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

ffsim-0.0.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

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

ffsim-0.0.3-cp38-abi3-macosx_10_9_x86_64.whl (424.5 kB view details)

Uploaded CPython 3.8+macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ffsim-0.0.3.tar.gz
Algorithm Hash digest
SHA256 64337f744afa7531f0f4db8bd884a91085f6bd71244a0a2ea25ebe10765f451a
MD5 d46ec5c5db19d49eb5cb19bb4eed176d
BLAKE2b-256 31a000a88ed9837b4cf25b6d9a09b86009633db20f04d83a685fb531c91f9301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ffsim-0.0.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f74c90d27c294c69b1f1342c0874bc6209c86712f2891cd333c0f72dc60d1ad6
MD5 b2485d97e85bac2aff68889ec674a481
BLAKE2b-256 98e696b2e02bbe9206a26101e9a7feb1c5baaf273823a28a5d58dbf48467a12e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ffsim-0.0.3-cp38-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84bdaa8b85ca7e22aacf7ad06ad9d01d95fcf759596e2474c18d7bd99d959b80
MD5 1d63c5c643fde2bb31f33b73e25f23f6
BLAKE2b-256 f0a599239c657068105f95775bfbec6a680232b4fe7813aba89d738ab9e8639a

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