Skip to main content
IBM Quantum Platform

PTM

class qiskit.quantum_info.PTM(data, input_dims=None, output_dims=None)

GitHub

Bases : QuantumChannel

Représentation de la matrice de transfert de Pauli (PTM) d'un canal quantique.

La représentation PTM d'un canal quantique nn -qubit E\mathcal{E} est un nn -qubit SuperOp RR défini par rapport à la vectorisation dans la base de Pauli au lieu de la vectorisation en colonnes. Les éléments du PTM RR sont donnés par les éléments suivants

Ri,j=12nTr[PiE(Pj)]R_{i,j} = \frac{1}{2^n} \text{Tr}\left[P_i \mathcal{E}(P_j) \right]

[P0,P1,...,P4n1][P_0, P_1, ..., P_{4^{n}-1}] est la base de Pauli de nn -qubit dans l'ordre lexicographique.

L'évolution de a DensityMatrix ρ\rho par rapport au PTM est donnée par

E(ρ) ⁣P=SPρ ⁣P|\mathcal{E}(\rho)\rangle\!\rangle_P = S_P |\rho\rangle\!\rangle_P

A ⁣P|A\rangle\!\rangle_P désigne la vectorisation dans la base de Pauli iA ⁣P=12nTr[PiA]\langle i | A\rangle\!\rangle_P = \sqrt{\frac{1}{2^n}} \text{Tr}[P_i A].

Voir la référence [1] pour plus de détails.

Références

  1. 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 de canal quantique PTM.

Paramètres

Augmentations

QiskitError – si les données d'entrée ne constituent pas un canal à N qubits ou ne peuvent pas être initialisées en tant que PTM.

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 PTM 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()

GitHub

Retourne le canal quantique adjoint.

Remarque

Cela équivaut au conjugué hermitien de la matrice dans la représentation SuperOp c'est-à-dire que pour un canal E\mathcal{E}, le SuperOp du canal adjoint E\mathcal{{E}}^\dagger est SE=SES_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger.

compose

compose(other, qargs=None, front=False)

GitHub

Renvoyer la composition de l'opérateur avec un autre PTM.

Paramètres

  • other (PTM) – un objet PTM.
  • 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 PTM composé.

Type de retour

PTM

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.

Remarque

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()

GitHub

Retourne le canal quantique conjugué.

Remarque

Cela équivaut au conjugué complexe de la matrice dans la représentation SuperOp c'est-à-dire que pour un canal E\mathcal{E}, le SuperOp du canal conjugué E\overline{{\mathcal{{E}}}} est SE=SES_{\overline{\mathcal{E}^\dagger}} = \overline{S_{\mathcal{E}}}.

copy

copy()

GitHub

Effectuer une copie intégrale de l'opérateur actuel.

dot

dot(other, qargs=None)

GitHub

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

Opérateur

Remarque

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)

GitHub

Renvoie le produit tensoriel d'ordre inverse avec un autre PTM.

Paramètres

other (PTM) – un objet PTM.

Retours

le produit tensoriel bab \otimes a, où aa

est la PTM actuelle, et bb est l'autre PTM.

Type de retour

PTM

input_dims

input_dims(qargs=None)

GitHub

Retourne un ensemble de dimensions d'entrée pour les sous-systèmes spécifiés.

is_cp

is_cp(atol=None, rtol=None)

GitHub

Tester si la matrice de Choi est complètement positive (CP)

Paramètres

Type de retour

booléen

is_cptp

is_cptp(atol=None, rtol=None)

GitHub

Retourne True si la préservation de la trace est entièrement positive (CPTP).

Paramètres

Type de retour

booléen

is_tp

is_tp(atol=None, rtol=None)

GitHub

Tester si un canal préserve la trace (TP)

Paramètres

Type de retour

booléen

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

Retourne True si QuantumChannel est un canal unitaire.

Paramètres

Type de retour

booléen

output_dims

output_dims(qargs=None)

GitHub

Retourne un tuple de dimensions de sortie pour les sous-systèmes spécifiés.

power

power(n)

GitHub

Renvoyer la puissance du canal quantique.

Paramètres

n (float) – l'exposant de puissance.

Retours

le canal En\mathcal{{E}} ^n.

Type de retour

SuperOp

Augmentations

QiskitError – si les dimensions d'entrée et de sortie de l' SuperOp e ne sont pas identiques.

Remarque

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 E\mathcal{{E}}, le SuperOp du canal alimenté En\mathcal{{E}}^n est SEn=SEnS_{{\mathcal{{E}}^n}} = S_{{\mathcal{{E}}}}^n.

reshape

reshape(input_dims=None, output_dims=None, num_qubits=None)

GitHub

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)

GitHub

Renvoie le produit tensoriel avec un autre PTM.

Paramètres

other (PTM) – un objet PTM.

Retours

le produit tensoriel aba \otimes b, où aa

est la PTM actuelle, et bb est l'autre PTM.

Type de retour

PTM

Remarque

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()

GitHub

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

qiskit.circuit.Instruction

Augmentations

QiskitError – si les données d'entrée ne constituent pas un canal quantique CPTP à N qubits.

to_operator

to_operator()

GitHub

Essayer de convertir le canal en une représentation unitaire Opérateur.

Type de retour

Opérateur

transpose

transpose()

GitHub

Retourne le canal quantique transposé.

Remarque

Cela équivaut à la transposée de la matrice dans la SuperOp représentation, c'est-à-dire que pour un canal E\mathcal{E}, la matrice SuperOp du canal transposé ET\mathcal{{E}}^T est SET=SETS_{\mathcal{E}^T} = S_{\mathcal{E}}^T.

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