About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
HalfAdderSynthesisDefault
class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault
Bases: HighLevelSynthesisPlugin
The default half-adder (no carry in, but a carry out qubit) synthesis.
If we have an auxiliary qubit available, the Cuccaro ripple-carry adder uses CX gates and 1 auxiliary qubit, whereas the Vedral ripple-carry uses more CX and auxiliary qubits. The QFT-based adder uses no auxiliary qubits, but , hence it is only used if no auxiliary qubits are available.
This plugin name is:HalfAdder.default
which can be used as the key on an HLSConfig
object to use this method with HighLevelSynthesis
.
If at least one clean auxiliary qubit is available, the HalfAdderSynthesisC04
is used, otherwise HalfAdderSynthesisD00
.
The plugin supports the following plugin-specific options:
num_clean_ancillas
: The number of clean auxiliary qubits available.
Methods
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Run synthesis for the given Operation.
Parameters
- high_level_object (Operation) – The Operation to synthesize to a
DAGCircuit
object. - coupling_map (CouplingMap) – The coupling map of the backend in case synthesis is done on a physical circuit.
- target (Target) – A target representing the target backend.
- qubits (list) – List of qubits over which the operation is defined in case synthesis is done on a physical circuit.
- options – Additional method-specific optional kwargs.
Returns
The quantum circuit representation of the Operation
when successful, and None
otherwise.
Return type
Was this page helpful?
Report a bug or request content on GitHub.