Transpiler Passes

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

Optimization Passes

These passes provide different kinds of optimization of FermionicDAGCircuit instances.

F2FSynthesis([config, apply, filter])

A transpilation pass breaking gates down into smaller ones in fermionic space.

F2FSynthesisConfig

The dictionary type used to configure the F2FSynthesis.methods.

MergeEvolutions([atol])

A transpilation pass merging consecutive Evolution gates of the same operator.

MergeOrbitalRotations()

A transpilation pass merging runs of consecutive orbital rotations into a single one.

MergeSlaterDeterminantPreparation()

A transpilation pass fusing an initialization and rotation into a Slater determinant prep.

QDriftTrotterization(*args, **kwargs)

A transpilation pass to Trotterize Evolution gates via qDRIFT, skipping trivial draws.

RelabelModes([permutation, solver])

A transpilation pass to relabel the fermionic modes.

FermionicTrotterization(synthesis, *[, ...])

DEPRECATED The former pass to Trotterize Evolution gates.

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(layout)

Sets the user-provided F2QLayout in the transpiler.

Synthesis Passes

The main logic for mapping a FermionicDAGCircuit to a DAGCircuit is implemented by a single synthesis pass, namely the F2QSynthesis. It is conceptually similar to Qiskit’s HighLevelSynthesis because it simply iterates over the FermionicDAGCircuit instructions and delegates the mapping to qubit-based instructions to Transpiler Pass Synthesis (F2Q) for each of the encountered types of FermionicGate.

F2QSynthesis([config])

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

F2QSynthesisConfig

The dictionary type used to configure the F2QSynthesis.methods.