Transpilation Passes

This module provides various transpiler passes for the stages explained in qiskit_fermions.transpiler.

Optimization Passes

Hint

Coming soon!

Layouting Passes

These passes are designed to help configuring the global F2QLayout setting for the transpilation process. This setting needs to be placed in the f2q_layout field of the property_set, from where it will be read during the Synthesis Passes.

TrivialF2QLayout

Trivially maps \(n\) fermionic modes to \(n\) qubits.

CustomF2QLayout

Sets the user-provided F2QLayout in the transpiler.

Synthesis Passes

The main logic for mapping a FermionCircuit to a QuantumCircuit is implemented by a single synthesis pass, namely the F2QSynthesis. It is conceptually similar to Qiskit’s HighLevelSynthesis because it simply iterates over the FermionCircuit instructions and delegates the mapping to qubit-based instructions to Plugins for each of the encountered types of FermionGate.

F2QSynthesis

A transpilation pass to map fermion-based circuit instructions to qubit-based ones.

Plugins

As mentioned above, the F2QSynthesis transpiler pass exposes a plugin interface through which implementations for mapping fermion-based instructions to qubit-based ones can be registered. For more details on how to implement your own plugin, refer to F2QSynthesis.plugins.

For most common gates provided by qiskit_fermions.circuit.library, this module already provides builtin plugins: