Skip to main content
IBM Quantum Platform

HalfAdderSynthesisDefault

class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault

GitHub

Bases: HighLevelSynthesisPlugin

La síntesis de media escalera por defecto (sin carry in, pero con un qubit carry out).

Si disponemos de un qubit auxiliar, el sumador ripple-carry de Cuccaro utiliza O(n)O(n) puertas CX y 1 qubit auxiliar, mientras que el ripple-carry de Vedral utiliza más CX y n1n-1 qubits auxiliares. El sumador basado en QFT no utiliza qubits auxiliares, sino O(n2)O(n^2), por lo que sólo se utiliza si no se dispone de qubits auxiliares.

El nombre de este plugin es:HalfAdder.default que se puede utilizar como la clave en un HLSConfig para utilizar este método con HighLevelSynthesis.

Si se dispone de al menos un qubit auxiliar limpio, se utiliza el HalfAdderSynthesisC04 en caso contrario HalfAdderSynthesisD00.

El complemento admite las siguientes opciones específicas:

  • num_clean_ancillas: El número de qubits auxiliares limpios disponibles.

Métodos

run

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

GitHub

Ejecutar la síntesis para la Operación dada.

Parámetros

  • high_level_object (Operation) – La Operación a sintetizar en un DAGCircuit objeto.
  • coupling_map (CouplingMap) – El mapa de acoplamiento del backend en caso de que la síntesis se realice en un circuito físico.
  • target (Target) – Un objetivo que representa el backend de destino.
  • qubits (list) – Lista de qubits sobre los que se define la operación en caso de que la síntesis se realice sobre un circuito físico.
  • options - Kwargs opcionales específicos del método.

Devuelve

La representación en circuito cuántico de la Operación

si tiene éxito, y None en caso contrario.

Tipo de retorno

QuantumCircuit

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.