Skip to main content
IBM Quantum Platform

HalfAdderSynthesisDefault

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

GitHub

Bases : HighLevelSynthesisPlugin

La synthèse par défaut du demi-adder (pas de retenue à l'entrée, mais un qubit de retenue à la sortie).

Si nous disposons d'un qubit auxiliaire, l'additionneur de Cuccaro utilise O(n)O(n) portes CX et 1 qubit auxiliaire, tandis que l'additionneur de Vedral utilise plus de portes CX et n1n-1 qubits auxiliaires. L'additionneur basé sur la QFT n'utilise pas de qubits auxiliaires, mais O(n2)O(n^2), et n'est donc utilisé que si aucun qubit auxiliaire n'est disponible.

Le nom de ce plugin est :HalfAdder.default qui peut être utilisé comme clé sur un objet pour utiliser cette méthode HLSConfig pour utiliser cette méthode avec HighLevelSynthesis.

Si au moins un qubit auxiliaire propre est disponible, l'option HalfAdderSynthesisC04 est utilisé, sinon HalfAdderSynthesisD00.

Le plugin prend en charge les options suivantes, spécifiques au plugin :

  • num_clean_ancillas: Le nombre de qubits auxiliaires propres disponibles.

Méthodes

run

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

GitHub

Exécute la synthèse pour l'opération donnée.

Paramètres

  • high_level_object (Operation) – L'opération à synthétiser dans un DAGCircuit objet.
  • coupling_map (CouplingMap) – La carte de couplage du backend dans le cas où la synthèse est effectuée sur un circuit physique.
  • target (Target) – Une cible représentant le backend cible.
  • qubits (list) – Liste des qubits sur lesquels l'opération est définie dans le cas où la synthèse est effectuée sur un circuit physique.
  • options - Des éléments optionnels supplémentaires spécifiques à la méthode.

Retours

La représentation du circuit quantique de l'opération

en cas de succès, et None dans le cas contraire.

Type de retour

QuantumCircuit

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.