43 lines
2.5 KiB
Plaintext
43 lines
2.5 KiB
Plaintext
---
|
||
title: PMHSynthesisLinearFunction (latest version)
|
||
description: API reference for qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction in the latest version of qiskit
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction
|
||
---
|
||
|
||
# PMHSynthesisLinearFunction
|
||
|
||
<Class id="qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/transpiler/passes/synthesis/hls_plugins.py#L645-L691" signature="qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction" modifiers="class">
|
||
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.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`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.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\]](https://arxiv.org/abs/quant-ph/0302002)
|
||
|
||
## Methods
|
||
|
||
### run
|
||
|
||
<Function id="qiskit.transpiler.passes.synthesis.hls_plugins.PMHSynthesisLinearFunction.run" github="https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/transpiler/passes/synthesis/hls_plugins.py#L668-L691" signature="run(high_level_object, coupling_map=None, target=None, qubits=None, **options)">
|
||
Run synthesis for the given LinearFunction.
|
||
</Function>
|
||
</Class>
|
||
|