Transpilation 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 FermionicCircuit instances.
A transpilation pass to Trotterize |
|
A transpilation pass to relabel the fermionic modes. |
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.
Trivially maps \(n\) fermionic modes to \(n\) qubits. |
|
Sets the user-provided |
Synthesis Passes¶
The main logic for mapping a FermionicCircuit 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 FermionicCircuit instructions and delegates the mapping to qubit-based instructions
to Plugins for each of the encountered types of
FermionicGate.
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:
A |
|
A |
|
A |