HalfAdderSynthesisDefault
class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault
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 portes CX et 1 qubit auxiliaire, tandis que l'additionneur de Vedral utilise plus de portes CX et qubits auxiliaires. L'additionneur basé sur la QFT n'utilise pas de qubits auxiliaires, mais , 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)
Exécute la synthèse pour l'opération donnée.
Paramètres
- high_level_object (Operation) – L'opération à synthétiser dans un
DAGCircuitobjet. - 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