OneQubitEulerDecomposer
class qiskit.synthesis.OneQubitEulerDecomposer(basis='U3', use_dag=False)
Bases : object
Une classe pour décomposer les unitaires de 1 qubit en rotations d'angle d'Euler.
La décomposition résultante est paramétrée par 3 paramètres d'angle de rotation d'Euler , et un paramètre de phase . La valeur des paramètres pour une unité d'entrée dépend de la base de décomposition. Les bases autorisées et les circuits qui en résultent sont indiqués dans le tableau suivant. Notez que pour les bases non Euler ( , , ), les paramètres d'Euler de sont utilisés.
De base | Base de l'angle d'Euler | Circuit de décomposition |
|---|---|---|
| zYZ | ||
| zXZ | ||
| xYX | ||
| xZX | ||
| ‘U3’ | ||
| ‘U321’ | ||
| 'U' | ||
| pSX | ||
| zSX | ||
| zSXX | ou | |
| ‘U1X’ | ||
| rR |
__call__
__call__(unitary, simplify=True, atol=1e-12)
Décomposer la porte à qubit unique en un circuit.
Paramètres
- unitary (Operator |Gate | np.ndarray) – matrice unitaire à 1 qubit
- simplify (bool) – réduire le nombre de portes dans la décomposition [Défaut : True].
- atol (float) – tolérance absolue pour le contrôle des angles lors de la simplification du circuit retourné [Défaut : 1e-12].
Retours
le circuit de porte à qubit unique décomposé
Type de retour
Augmentations
QiskitError – si les données d'entrée ne sont pas valides ou si la synthèse échoue.
Initialiser le décomposeur
Les bases prises en charge sont les suivantes 'U', 'PSX', 'ZSXX', 'ZSX', 'U321', 'U3', 'U1X', 'RR', 'ZYZ', 'ZXZ', 'XYX', 'XZX'.
Paramètres
- basis (str) – la base de décomposition [Par défaut :
'U3'] - use_dag (bool) – Si cette option est activée, les appels au décomposeur renverront un
DAGCircuitobjet au lieu deQuantumCircuit.
Augmentations
QiskitError – Si la base de saisie n'est pas reconnue.
Attributs
basis
La base de décomposition.
Méthodes
angles
angles(unitary)
Renvoie les angles d'Euler pour le tableau d'entrée.
Paramètres
unitary (ndarray) – matrice unitaire.
Retours
(theta, phi, lambda).
Type de retour
angles_and_phase
angles_and_phase(unitary)
Renvoie les angles d'Euler et la phase pour le tableau d'entrée.
Paramètres
unitary (ndarray) –
Retours
(theta, phi, lambda, phase).
Type de retour
build_circuit
build_circuit(gates, global_phase)
Renvoie l'objet circuit ou dag d'une liste de portes.
Type de retour