Skip to main contentIBM Quantum Documentation

PMHSynthesisLinearFunction

class qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction

GitHub(opens in a new tab)

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

  1. 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](opens in a new tab)

Methods

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub(opens in a new tab)

Run synthesis for the given LinearFunction.

Was this page helpful?
Report a bug or request content on GitHub.