PMHSynthesisLinearFunction
class qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction
Bases: HighLevelSynthesisPlugin
Linear function synthesis plugin based on the Patel-Markov-Hayes method.
This plugin name is :linear_function.pmh
which can be used as the key on an HLSConfig
object to use this method with HighLevelSynthesis
.
The plugin supports the following plugin-specific options:
-
section size: The size of each section used in the Patel–Markov–Hayes algorithm [1].
-
use_inverted: Indicates whether to run the algorithm on the inverse matrix
and to invert the synthesized circuit. In certain cases this provides a better decomposition than the direct approach.
-
use_transposed: Indicates whether to run the algorithm on the transposed matrix
and to invert the order of CX gates in the synthesized circuit. In certain cases this provides a better decomposition than the direct approach.
References
- Patel, Ketan N., Igor L. Markov, and John P. Hayes, Optimal synthesis of linear reversible circuits, Quantum Information & Computation 8.3 (2008): 282-294. arXiv:quant-ph/0302002 [quant-ph]
Methods
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Run synthesis for the given LinearFunction.