Skip to main content

Release License Docs Qiskit Python rustc Platform Tests Coverage

Qiskit Fermions

qiskit-fermions extends the Qiskit SDK with tools for working on fermionic systems. Within its scope it provides the following:

  • Efficient data structures for the representation and manipulation of fermionic operators in different forms
  • A framework for implementing operator conversion methods (including fermion-to-qubit encodings)
  • A library of efficient implementations of common conversion methods
  • A framework and library of gates for expressing fermionic circuits
  • A transpilation pipeline integrated with the Qiskit transpiler process to synthesize fermionic circuits into qubit-based circuits

Additionally, qiskit-fermions integrates with other tools of the ecosystem, such as:


Documentation

Documentation for this package is available on IBM Quantum Platform.

You can also preview the docs of the development branch on Github pages.


Installation

C

Refer to the C installation instructions.

Python

Install this package via pip, when possible:

pip install 'qiskit-fermions'

For more installation information, refer to these installation instructions.


Get started

Overview

The schematic description in the image above provides a glimpse of the breadth of features and general workflow that this package provides. You can work in the fermionic regime with both, operator and circuit representation, before you define a fermion-to-qubit encoding that plugs into the multi-representation transpiler pipeline of Qiskit.

All of these features are explained in several guides to help you get started. For an overview working through exactly the pipeline shown above, start with the 1D Fermi-Hubbard guide.


Use case examples

Components of this package have been used in research related to the following papers:

  • The qDRIFT randomized circuit compilation in 1.
  • The fermion-to-qubit synthesis during the transpilation process in 2.

Technical discussion

Design intentions

This package is deliberately designed to align with Qiskit: it builds on a core implemented in Rust and provides first-party language bindings to Python and C. Its API intends to draw parallels to Qiskit in order to seamlessly integrate into the workflows of users with experience in programming Qiskit.

A core principle to the design of qiskit-fermions was the decoupling of its fermionic circuit representation from its qubitized form. To be more precise: the fermionic circuits are meaningful by themselves and do not require a mapping to qubit space to be interpretable. Furthermore, the fermionic circuit representation cannot make any assumptions about its fermion-to-qubit encoding applied later on. Consequently, while Jordan-Wigner retains a dominant position and role, it is not assumed to be the default fermion-to-qubit encoding.

Relationship to ffsim

ffsim and qiskit-fermions divide the work rather than overlap. ffsim owns the high-level ansatz operators and their fast simulation: it constructs a UCJ or UCCSD operator from coupled-cluster amplitudes or a parameter vector, and simulates fermionic states in a compact fixed-particle-number space. qiskit-fermions owns the circuit side: it expresses that operator as a fermionic circuit on fermionic modes and transpiles it into a qubit circuit through any fermion-to-qubit encoding.

That last point is the reason to bring an ffsim operator here. ffsim's own Qiskit gates are specific to the Jordan-Wigner transformation, so lowering an ansatz through a different encoding (a local encoding trading qubits for shallower circuits, for instance) is what this package adds. Conversely, this package does not reimplement the ansatz math, so its UCJ and UCC gates take an ffsim operator directly as their input.

On the simulation side, ffsim is the backend. This package's gates and operators implement the protocol methods ffsim's simulation functions consume (_apply_unitary_, _linear_operator_ and _trace_), so ffsim's tools work on them natively, with no conversion step. Because ffsim depends on PySCF, which does not support Windows, simulating on Windows means going through WSL for now. Building operators, mapping them and transpiling the resulting circuits need none of this and work everywhere.

For the full picture, refer to the ffsim relationship guide.

Known issues

As long as the Qiskit C API has not yet reached feature parity with its Python API, some components of this package remain exclusive to its Python API, too. This includes the entire circuit library (qiskit_fermions.circuit) as well as transpiler passes (qiskit_fermions.transpiler).

Future work

  • Migrate the circuit library and transpiler passes into the Rust core (and provide a C API for interacting with them)
  • Extend the library of efficient operator conversion implementations
  • Extend the library of efficient operator data structures

Contributing

The source code is available on GitHub.

The developer guide is located at CONTRIBUTING.md in the root of this project's repository. By participating, you are expected to uphold Qiskit's code of conduct.


Citing this package

If you use this package in your research, use the CITATION.bib file in this project’s repository to cite the appropriate reference(s).


License

Apache License 2.0


Deprecation policy

This package follows semantic versioning. Breaking changes are made only occasionally, to improve the user experience. When possible, old interfaces are kept and marked as deprecated for as long as they can co-exist with the new ones. Each substantial improvement, breaking change, or deprecation is documented in the release notes.


References

  1. Samuele Piccinelli, et al., Quantum chemistry with provable convergence via randomized sample-based Krylov quantum diagonalization, arXiv:2508.02578 [quant-ph]. ↩

  2. Anthony Gandon, et al., Stabilizer-based quantum simulation of fermion dynamics with local qubit encodings, arXiv:2512.11418 [quant-ph]. ↩

Metadata

Release files for qiskit-fermions 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qiskit-fermions 0.2.0
File Size Uploaded
qiskit_fermions-0.2.0.tar.gz 161.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for qiskit-fermions 0.2.0
File
qiskit_fermions-0.2.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
qiskit_fermions-0.2.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
qiskit_fermions-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 8.5 MB

Release files / qiskit_fermions-0.2.0.tar.gz

Download URL qiskit_fermions-0.2.0.tar.gz
Size 161.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f483d607651ea154ff08bef860f3c6375b1e0046e7710555436c91712d3a7055
BLAKE2b-256 checksum
How to use checksums
86a991b3ef2191e433b70b261b405659ea17cbaf866700346bca22c6b5157d6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / qiskit_fermions-0.2.0-cp310-abi3-win_amd64.whl

Download URL qiskit_fermions-0.2.0-cp310-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
2066854a076ed586c1516213e2175698bd80a3f17c7de6eb9f035c5d12d593c5
BLAKE2b-256 checksum
How to use checksums
19ea86b96eef94afe6465452d11028e2c3d666599f4942234f09242ff06e471f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
2d651ccf204f01e0524eaee237151a55959fd4fe5b735b552347c099e32eda03
BLAKE2b-256 checksum
How to use checksums
cbc530fa46928b24069124f8605c92b5e484237fd4746d32ef20247c9b7d443b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL qiskit_fermions-0.2.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
bdc140f77ba5e67007757cb32e2a4c2bb1f1ac123a43cdf845f3e26c6a6b8d96
BLAKE2b-256 checksum
How to use checksums
1f58c7e8bea38411181f94354af9878ebb71a5b4b76757a65d07a00e3cd825f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / qiskit_fermions-0.2.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL qiskit_fermions-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6c7cc7e9d79b6dc33a701e486502c318b5cd5c80ea62e69d3a2dfa06310d2358
BLAKE2b-256 checksum
How to use checksums
c346ea59215b266b8b5749289dc0b6697bd525ef18f460be486844b12adf4409
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / qiskit_fermions-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL qiskit_fermions-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c5a11ba976ed271f1c7434f2aabd341c9132009aca499ef8f919e8777645191d
BLAKE2b-256 checksum
How to use checksums
9544da01e1e017bee62c033cc09237801c32e2b5be869c64b6c1b55a72ccdaa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

6 release files

0.1.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page