Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

PMHSynthesisLinearFunction

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

GitHub

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]

Methods

run

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

GitHub

Run synthesis for the given LinearFunction.

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