XXDécompositeur
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
Bases : object
Une classe permettant la décomposition optimale d'opérateurs unitaires à 2 qubits en portes de base à 2 qubits de XX type (c'est-à-dire chacune localement équivalente à pour une valeur de l' pouvant varier).
Paramètres
- basis_fidelity (dict |float) – les points forts disponibles et la fidélité de chacun d'entre eux. Il peut s'agir soit (1) d'un dictionnaire associant les valeurs d'angle
XXà la fidélité à cet angle, soit (2) d'un seul flotteurf, interprété comme{pi: f, pi/2: f/2, pi/3: f/3}. - euler_basis (str) – Chaîne de base fournie à
OneQubitEulerDecomposerpour la synthèse 1Q. La valeur par défaut est"U". CXGateembodiments (dict[float, QuantumCircuit] | None) – Un dictionnaire associant les intensités d'interaction alpha à des circuits natifs qui incarnent l' de la porte. Les intensités sont choisies de telle sorte que représente la classe d'un. complet.- backup_optimizer (Callable[..., QuantumCircuit] | None) – Si cet élément est fourni, la synthèse est déléguée à cette fonction appelable lorsque
XXDecomposerne dispose pas de décomposition efficace propre. Utile dans certains cas particuliers nécessitant deux ou trois applications d’ ; dans ce cas, les méthodes de synthèse standard permettent d’obtenir un nombre de portes d’ 1Q s plus faible.
Si embodiments n'est pas transmis, ou si une entrée est manquante, elle sera remplie si nécessaire à l'aide de la méthode _default_embodiment.
__call__
__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)
Crée un circuit qui modélise (peut-être approximativement) l'opération unitaire spéciale unitary, en utilisant les modèles de circuits fournis à l'initialisation comme embodiments. La routine utilise basis_fidelity pour sélectionner le modèle de circuit optimal, y compris lors de la synthèse exacte; le contenu de basis_fidelity est un dictionnaire établissant une correspondance entre les forces d'interaction (échelonnées de manière à ce que corresponde à ) et les fidélités du circuit.
Paramètres
- unitary (Operator or ndarray) – unitaire à synthétiser.
- basis_fidelity (dict orfloat) – Fidélité des portes de base. Il peut s'agir soit (1) d'un dictionnaire associant les valeurs d'angle
XXà la fidélité à cet angle, soit (2) d'un seul flotteurf, interprété comme{pi: f, pi/2: f/2, pi/3: f/3}. S'il est donné, il remplace la fonctionnalité de base (basis_fidelity) donnée lors de l'initialisation. - approximate (bool) – Approximations si les fidélités de base sont inférieures à 1.0.
- use_dag (bool) – Si vrai, un
DAGCircuitest renvoyé à la place deQuantumCircuitlorsque cette classe est appelée.
Retours
Circuit synthétisé.
Type de retour
Méthodes
num_basis_gates
num_basis_gates(unitary)
Compte le nombre de portes qui seraient émises lors de la re-synthèse.
Cette méthode est utilisée par ConsolidateBlocks.
Paramètres