PMHSynthesisLinearFunction
class qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction
Bases: HighLevelSynthesisPlugin
Linear function synthesis plugin based on the PatelMarkovHayes 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 pluginspecific 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): 282294. arXiv:quantph/0302002 [quantph]
Methods
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Run synthesis for the given LinearFunction.