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

88 lines
4.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: DefaultUnitarySynthesis
description: API reference for qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis
---
# DefaultUnitarySynthesis
<Class id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/unitary_synthesis.py#L710-L1055" signature="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis" modifiers="class">
Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin")
The default unitary synthesis plugin.
## Attributes
### max\_qubits
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.max_qubits" />
### min\_qubits
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.min_qubits" />
### supported\_bases
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supported_bases" />
### supports\_basis\_gates
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_basis_gates" />
### supports\_coupling\_map
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_coupling_map" />
### supports\_gate\_errors
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_gate_errors" />
### supports\_gate\_errors\_by\_qubit
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_gate_errors_by_qubit" />
### supports\_gate\_lengths
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_gate_lengths" />
### supports\_gate\_lengths\_by\_qubit
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_gate_lengths_by_qubit" />
### supports\_natural\_direction
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_natural_direction" />
### supports\_pulse\_optimize
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_pulse_optimize" />
### supports\_target
<Attribute id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.supports_target" />
## Methods
### run
<Function id="qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.run" github="https://github.com/Qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/unitary_synthesis.py#L931-L1003" signature="run(unitary, **options)">
Run synthesis for the given unitary matrix
**Parameters**
* **unitary** ([*numpy.ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v2.0)")) The unitary matrix to synthesize to a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object
* **options** The optional kwargs that are passed based on the output the `support_*` methods on the class. Refer to the documentation for these methods on [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") to see what the keys and values are.
**Returns**
The dag circuit representation of the unitary. Alternatively, you can return a tuple of the form `(dag, wires)` where `dag` is the dag circuit representation of the circuit representation of the unitary and `wires` is the mapping wires to use for [`qiskit.dagcircuit.DAGCircuit.substitute_node_with_dag()`](qiskit.dagcircuit.DAGCircuit#substitute_node_with_dag "qiskit.dagcircuit.DAGCircuit.substitute_node_with_dag"). If you return a tuple and `wires` is `None` this will behave just as if only a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") was returned. Additionally if this returns `None` no substitution will be made.
**Return type**
[DAGCircuit](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit")
</Function>
</Class>