qiskit-documentation/docs/api/qiskit/qiskit.transpiler.passes.sy...

37 lines
2.1 KiB
Plaintext

---
title: KMSSynthesisLinearFunction (latest version)
description: API reference for qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction 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.KMSSynthesisLinearFunction
---
# KMSSynthesisLinearFunction
<Class id="qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/transpiler/passes/synthesis/hls_plugins.py#L603-L642" signature="qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction" modifiers="class">
Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")
Linear function synthesis plugin based on the Kutin-Moulton-Smithline method.
This plugin name is :`linear_function.kms` 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:
* **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.
## Methods
### run
<Function id="qiskit.transpiler.passes.synthesis.hls_plugins.KMSSynthesisLinearFunction.run" github="https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/transpiler/passes/synthesis/hls_plugins.py#L620-L642" signature="run(high_level_object, coupling_map=None, target=None, qubits=None, **options)">
Run synthesis for the given LinearFunction.
</Function>
</Class>