chi
class qiskit.quantum_info.Chi(data, input_dims=None, output_dims=None)
Bases : QuantumChannel
Représentation d'un canal quantique par la matrice Chi de la base de Pauli.
La représentation de la matrice Chi d'un canal quantique -qubit est une matrice telle que l'évolution de a DensityMatrix est donnée par
où est la base de Pauli de -qubit dans l'ordre lexicographique. Elle est liée à la Choi représentation par un changement de base de la matrice de Choi dans la base de Pauli. Le dans la définition ci-dessus est un facteur de normalisation qui résulte de la mise à l'échelle de la base de Pauli pour la rendre orthonormée.
Voir la référence [1] pour plus de détails.
Références
- C.J. Bois, J.D. Biamonte, D.G. Cory, Tensor networks and graphical calculus for open quantum systems, Quant. Inf. Comp. 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]
Initialiser un opérateur Chi-matrix de canal quantique.
Paramètres
- data (QuantumCircuit |circuit.instruction.Instruction | BaseOperator | np.ndarray) – données permettant d'initialiser le superopérateur.
- input_dims (int |tuple | None) – les dimensions du sous-système d'entrée.
- output_dims (int |tuple | None) – les dimensions du sous-système de sortie.
Augmentations
QiskitError – si les données d'entrée ne constituent pas un canal à N qubits ou ne peuvent pas être initialisées sous la forme d'une matrice de Chi.
Renseignements supplémentaires :
Si les dimensions d'entrée ou de sortie sont nulles, elles seront automatiquement déterminées à partir des données d'entrée. La représentation de la matrice Chi n'est valable que pour les canaux à N qubits.
Attributs
atol
Valeur par défaut : 1e-08
data
Données de retour.
dim
Retourne un tuple (forme_d'entrée, forme_de_sortie).
num_qubits
Renvoie le nombre de qubits s'il s'agit d'un opérateur à N qubits ou None dans le cas contraire.
qargs
Retourne les qargs de l'opérateur.
rtol
Valeur par défaut : 1e-05
settings
Paramètres de retour.
Méthodes
adjoint
adjoint()
Retourne le canal quantique adjoint.
Cela équivaut au conjugué hermitien de la matrice dans la représentation SuperOp c'est-à-dire que pour un canal , le SuperOp du canal adjoint est .
compose
compose(other, qargs=None, front=False)
Renvoyer la composition de l'opérateur avec un autre Chi.
Paramètres
- other (Chi) – un objet Chi.
- qargs (list or None) – une liste des postes au sein du sous-système auxquels appliquer d'autres mesures. Si « None » s'applique à tous les sous-systèmes (par défaut : None).
- front (bool) – Si True, composer en utilisant la multiplication de l'opérateur de droite, au lieu de la multiplication de gauche [par défaut : False].
Retours
Le Chi composé.
Type de retour
Augmentations
QiskitError – si l'autre ne peut pas être converti en opérateur ou si ses dimensions sont incompatibles avec celles des sous-systèmes spécifiés.
La composition (&) est définie par défaut comme une multiplication matricielle à gauche pour les opérateurs matriciels, tandis que @ (équivalent à dot()) est définie comme une multiplication matricielle à droite. C'est-à-dire que A & B == A.compose(B) est équivalent à B @ A == B.dot(A) lorsque A et B sont du même type.
L'utilisation du kwarg front=True permet de passer à une multiplication matricielle à droite, ce qui équivaut à la méthode dot() méthode A.dot(B) == A.compose(B, front=True).
conjugate
conjugate()
Retourne le canal quantique conjugué.
Cela équivaut au conjugué complexe de la matrice dans la représentation SuperOp c'est-à-dire que pour un canal , le SuperOp du canal conjugué est .
copy
dot
dot(other, qargs=None)
Retourne l'opérateur multiplié par la droite self * other.
Paramètres
- other (Operator) – un objet opérateur.
- qargs (list or None) – une liste des postes au sein du sous-système auxquels appliquer d'autres mesures. Si « None » s'applique à tous les sous-systèmes (par défaut : None).
Retours
La matrice droite multipliée Opérateur.
Type de retour
Le produit de points peut être obtenu en utilisant l'opérateur binaire @ . Par conséquent, a.dot(b) est équivalent à a @ b.
expand
expand(other)
Renvoie le produit tensoriel d'ordre inverse avec un autre Chi.
Paramètres
other (Chi) – un objet Chi.
Retours
le produit tensoriel , où
est le Chi actuel, et est l'autre Chi.
Type de retour
input_dims
input_dims(qargs=None)
Retourne un ensemble de dimensions d'entrée pour les sous-systèmes spécifiés.
is_cp
is_cp(atol=None, rtol=None)
Tester si la matrice de Choi est complètement positive (CP)
Paramètres
Type de retour
is_cptp
is_cptp(atol=None, rtol=None)
Retourne True si la préservation de la trace est entièrement positive (CPTP).
Paramètres
Type de retour
is_tp
is_unitary
is_unitary(atol=None, rtol=None)
Retourne True si QuantumChannel est un canal unitaire.
Paramètres
Type de retour
output_dims
output_dims(qargs=None)
Retourne un tuple de dimensions de sortie pour les sous-systèmes spécifiés.
power
power(n)
Renvoyer la puissance du canal quantique.
Paramètres
n (float) – l'exposant de puissance.
Retours
le canal .
Type de retour
Augmentations
QiskitError – si les dimensions d'entrée et de sortie de l' SuperOp e ne sont pas identiques.
Pour les exposants non positifs ou non entiers, la puissance est définie comme la puissance matricielle de la représentation SuperOp c'est-à-dire que pour un canal , le SuperOp du canal alimenté est .
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
Renvoyer une copie peu profonde avec les dimensions des sous-systèmes d'entrée et de sortie remodelées.
Paramètres
- input_dims (None or tuple) – les nouvelles dimensions d'entrée du sous-système. Si aucun, les gradations d'entrée d'origine seront conservées. [Par défaut : Aucun].
- output_dims (None or tuple) – les nouvelles dimensions de sortie du sous-système. Si aucun, les gradations de sortie d'origine seront conservées. [Par défaut : Aucun].
- num_qubits (None or int) – transformer en un opérateur N-qubit [Défaut : Aucun].
Retours
renvoie l'utilisateur avec les dimensions d'entrée et de sortie remodelées.
Type de retour
BaseOperator
Augmentations
QiskitError – si la somme des dimensions d'entrée ou de sortie de tous les sous-systèmes n'est pas constante.
tensor
tensor(other)
Retourne le produit tensoriel avec un autre Chi.
Paramètres
other (Chi) – un objet Chi.
Retours
le produit tensoriel , où
est le Chi actuel, et est l'autre Chi.
Type de retour
Le produit tensoriel peut être obtenu en utilisant l'opérateur binaire ^ . Par conséquent, a.tensor(b) est équivalent à a ^ b.
to_instruction
to_instruction()
Convertir en instruction de circuit Kraus ou UnitaryGate.
Si le canal est unitaire, il sera ajouté en tant que porte unitaire, sinon il sera ajouté en tant qu'instruction du simulateur de Kraus.
Retours
Une instruction kraus pour le canal.
Type de retour
Augmentations
QiskitError – si les données d'entrée ne constituent pas un canal quantique CPTP à N qubits.
to_operator
to_operator()
Essayer de convertir le canal en une représentation unitaire Opérateur.
Type de retour