Skip to main content
IBM Quantum Platform

PTM

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

GitHub

Bases: QuantumChannel

Representación de la matriz de transferencia de Pauli (PTM) de un canal cuántico.

La representación PTM de un canal cuántico nn -qubit E\mathcal{E} es un nn -qubit SuperOp RR definida con respecto a la vectorización en la base Pauli en lugar de la vectorización en columna. Los elementos del PTM RR vienen dados por

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

donde [P0,P1,...,P4n1][P_0, P_1, ..., P_{4^{n}-1}] es la base de Pauli de nn -qubit en orden lexicográfico.

La evolución de a DensityMatrix ρ\rho con respecto al PTM viene dada por

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

donde A ⁣P|A\rangle\!\rangle_P denota vectorización en la base de Pauli iA ⁣P=12nTr[PiA]\langle i | A\rangle\!\rangle_P = \sqrt{\frac{1}{2^n}} \text{Tr}[P_i A].

Para más información, véase la referencia [1].

Referencias

  1. C.J. Madera, J.D. Biamonte, D.G. Cory, Tensor networks and graphical calculus for open quantum systems, Quant. Inf. Ventaja 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]

Inicializar un operador de canal cuántico PTM.

Parámetros

Eleva

QiskitError - si los datos de entrada no son un canal N-qubit o no pueden inicializarse como PTM.

Información adicional:

Si las dimensiones de entrada o salida son Ninguna, se determinarán automáticamente a partir de los datos de entrada. La representación PTM sólo es válida para canales N-qubit.


Atributos

atol

Valor predeterminado: 1e-08

data

Devuelve los datos.

dim

Devuelve una tupla (forma_entrada, forma_salida).

num_qubits

Devuelve el número de qubits si es un operador N-qubit o Ninguno en caso contrario.

qargs

Devuelve los qargs para el operador.

rtol

Valor predeterminado: 1e-05

settings

Devuelve los ajustes.


Métodos

adjoint

adjoint()

GitHub

Devuelve el canal cuántico adjunto.

Nota

Esto equivale a la matriz conjugada hermitiana en la representación SuperOp es decir, para un canal E\mathcal{E}, el SuperOp del canal adjunto E\mathcal{{E}}^\dagger es SE=SES_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger.

compose

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

GitHub

Devuelve la composición del operador con otro PTM.

Parámetros

  • other (PTM) – un objeto PTM.
  • qargs (list or None) – una lista de posiciones de subsistemas a las que aplicar otras. Si se aplica «None» a todos los subsistemas (valor predeterminado: None).
  • front (bool) – Si es True compone usando el operador derecho de multiplicación, en lugar del izquierdo [por defecto: Falso].

Devuelve

El PTM compuesto.

Tipo de retorno

PTM

Eleva

QiskitError - si otro no puede convertirse en operador o tiene dimensiones incompatibles para los subsistemas especificados.

Nota

La composición (&) se define por defecto como multiplicación matricial izquierda para los operadores matriciales, mientras que @ (equivalente a dot()) se define como multiplicación matricial derecha. Es decir, que A & B == A.compose(B) es equivalente a B @ A == B.dot(A) cuando A y B son del mismo tipo.

Si se configura el parámetro front=True kwarg, la multiplicación de matrices a la derecha es equivalente al método dot() método A.dot(B) == A.compose(B, front=True).

conjugate

conjugate()

GitHub

Devuelve el canal cuántico conjugado.

Nota

Esto equivale a la matriz conjugada compleja en la representación SuperOp es decir, para un canal E\mathcal{E}, el SuperOp del canal conjugado E\overline{{\mathcal{{E}}}} es SE=SES_{\overline{\mathcal{E}^\dagger}} = \overline{S_{\mathcal{E}}}.

copy

copy()

GitHub

Realiza una copia en profundidad del operador actual.

dot

dot(other, qargs=None)

GitHub

Devuelve el operador multiplicado por la derecha self * other.

Parámetros

  • other (Operator) – un objeto operador.
  • qargs (list or None) – una lista de posiciones de subsistemas a las que aplicar otras. Si se aplica «None» a todos los subsistemas (valor predeterminado: None).

Devuelve

La matriz derecha multiplicada Operador.

Tipo de retorno

Operador

Nota

El producto punto puede obtenerse utilizando el operador binario @ . Por tanto, a.dot(b) es equivalente a a @ b.

expand

expand(other)

GitHub

Devuelve el producto tensorial de orden inverso con otro PTM.

Parámetros

other (PTM) – un objeto PTM.

Devuelve

el producto tensorial bab \otimes a, donde aa

es el PTM actual, y bb es el otro PTM.

Tipo de retorno

PTM

input_dims

input_dims(qargs=None)

GitHub

Devuelve tupla de dimensión de entrada para subsistemas especificados.

is_cp

is_cp(atol=None, rtol=None)

GitHub

Prueba si la matriz de Choi es completamente positiva (CP)

Parámetros

Tipo de retorno

bool

is_cptp

is_cptp(atol=None, rtol=None)

GitHub

Devuelve True si se preserva la traza completamente positiva (CPTP).

Parámetros

Tipo de retorno

bool

is_tp

is_tp(atol=None, rtol=None)

GitHub

Comprobar si un canal conserva la traza (TP)

Parámetros

Tipo de retorno

bool

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

Devuelve True si QuantumChannel es un canal unitario.

Parámetros

Tipo de retorno

bool

output_dims

output_dims(qargs=None)

GitHub

Devuelve tupla de dimensión de salida para subsistemas especificados.

power

power(n)

GitHub

Devuelve la potencia del canal cuántico.

Parámetros

n (float) – el exponente de la potencia.

Devuelve

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

Tipo de retorno

SuperOp

Eleva

QiskitError - si las dimensiones de entrada y salida de SuperOp no son iguales.

Nota

Para exponentes no positivos o no enteros, la potencia se define como la potencia matricial de la representación SuperOp es decir, para un canal E\mathcal{{E}}, la SuperOp del canal potenciado En\mathcal{{E}}^n es SEn=SEnS_{{\mathcal{{E}}^n}} = S_{{\mathcal{{E}}}}^n.

reshape

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

GitHub

Devuelve una copia superficial con las dimensiones de los subsistemas de entrada y salida remodeladas.

Parámetros

  • input_dims (None or tuple) – nuevas dimensiones de entrada del subsistema. Si es Ninguno, se conservarán las atenuaciones de entrada originales [Por defecto: Ninguno].
  • output_dims (None or tuple) – nuevas dimensiones de salida del subsistema. Si es Ninguno, se conservarán las atenuaciones de salida originales. [Predeterminado: Ninguno].
  • num_qubits (None or int) – remodelar a un operador N-qubit [Por defecto: Ninguno].

Devuelve

devuelve self con las dimensiones de entrada y salida reformadas.

Tipo de retorno

BaseOperator

Eleva

QiskitError - si el tamaño combinado de todas las dimensiones de entrada del subsistema o las dimensiones de salida del subsistema no es constante.

tensor

tensor(other)

GitHub

Devuelve el producto tensorial con otro PTM.

Parámetros

other (PTM) – un objeto PTM.

Devuelve

el producto tensorial aba \otimes b, donde aa

es el PTM actual, y bb es el otro PTM.

Tipo de retorno

PTM

Nota

El producto tensorial puede obtenerse utilizando el operador binario ^ . Por tanto, a.tensor(b) es equivalente a a ^ b.

to_instruction

to_instruction()

GitHub

Convertir a una instrucción de circuito Kraus o UnitaryGate.

Si el canal es unitario se añadirá como una puerta unitaria, en caso contrario se añadirá como una instrucción del simulador kraus.

Devuelve

Una instrucción kraus para el canal.

Tipo de retorno

qiskit.circuit.Instruction

Eleva

QiskitError - si los datos de entrada no son un canal cuántico CPTP de N qubits.

to_operator

to_operator()

GitHub

Intenta convertir el canal a una representación unitaria Operador.

Tipo de retorno

Operador

transpose

transpose()

GitHub

Devuelve el canal cuántico transpuesto.

Nota

Esto equivale a la transpuesta de la matriz en la SuperOp representación; es decir, para un canal E\mathcal{E}, la matriz SuperOp del canal transpuesto ET\mathcal{{E}}^T es SET=SETS_{\mathcal{E}^T} = S_{\mathcal{E}}^T.

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.