Skip to main content
IBM Quantum Platform

PTM

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

GitHub

Basi: QuantumChannel

Rappresentazione della matrice di trasferimento di Pauli (PTM) di un canale quantistico.

La rappresentazione PTM di un canale quantistico nn -qubit E\mathcal{E} è un nn -qubit SuperOp RR definita rispetto alla vettorizzazione nella base di Pauli invece che alla vettorizzazione a colonne. Gli elementi del PTM RR sono dati da

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

dove [P0,P1,...,P4n1][P_0, P_1, ..., P_{4^{n}-1}] è la base di Pauli di nn -qubit in ordine lessicografico.

L'evoluzione di a DensityMatrix ρ\rho rispetto al PTM è data da

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

dove A ⁣P|A\rangle\!\rangle_P indica la vettorizzazione nella base di Pauli iA ⁣P=12nTr[PiA]\langle i | A\rangle\!\rangle_P = \sqrt{\frac{1}{2^n}} \text{Tr}[P_i A].

Per ulteriori dettagli si veda il riferimento [1].

Riferimenti

  1. C.J. Legno, J.D. Biamonte, D.G. Cory, Reti tensoriali e calcolo grafico per sistemi quantistici aperti, Quant. Inf. Comp. 15, 0579-0811 (2015). arXiv:1111.6950 [quant-ph]

Inizializza un operatore di canale quantistico PTM.

Parametri

Aumenti

QiskitError – se i dati di input non costituiscono un canale a N qubit o non possono essere inizializzati come PTM.

Ulteriori informazioni:

Se le dimensioni di ingresso o di uscita sono Nessuna, vengono determinate automaticamente dai dati di ingresso. La rappresentazione PTM è valida solo per canali a N-qubit.


Attributi

atol

Valore predefinito: 1e-08

data

Dati di ritorno.

dim

Restituisce una tupla (forma_ingresso, forma_uscita).

num_qubits

Restituisce il numero di qubit se si tratta di un operatore a N qubit o altrimenti None.

qargs

Restituisce i qarg per l'operatore.

rtol

Valore predefinito: 1e-05

settings

Impostazioni di ritorno.


Metodi

adjoint

adjoint()

GitHub

Restituisce il canale quantistico aggiunto.

Nota

Questo è equivalente al coniugato della matrice Hermitiana nella rappresentazione SuperOp cioè per un canale E\mathcal{E}, la SuperOp del canale adiacente E\mathcal{{E}}^\dagger è SE=SES_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger.

compose

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

GitHub

Restituisce la composizione dell'operatore con un altro PTM.

Parametri

  • other (PTM) – un oggetto PTM.
  • qargs (list or None) – un elenco delle posizioni dei sottosistemi su cui applicare altre operazioni. Se "None" si applica a tutti i sottosistemi (impostazione predefinita: None).
  • front (bool) – Se True, componi utilizzando la moltiplicazione dell'operatore a destra, invece della moltiplicazione a sinistra, [impostazione predefinita: False].

Risultati

Il PTM composto.

Tipo di restituzione

PTM

Aumenti

QiskitError – se l’altro non può essere convertito in un operatore o presenta dimensioni incompatibili con i sottosistemi specificati.

Nota

La composizione (&) per default è definita come moltiplicazione matriciale sinistra per gli operatori matriciali, mentre @ (equivalente a dot()) è definita come moltiplicazione matriciale destra. Cioè A & B == A.compose(B) è equivalente a B @ A == B.dot(A) quando A e B sono dello stesso tipo.

Impostando il kwarg front=True si passa alla moltiplicazione matriciale destra ed è equivalente al metodo dot()A.dot(B) == A.compose(B, front=True) .

conjugate

conjugate()

GitHub

Restituisce il canale quantistico coniugato.

Nota

Questo è equivalente alla matrice complessa coniugata nella rappresentazione SuperOp cioè per un canale E\mathcal{E}, la SuperOp del canale coniugato E\overline{{\mathcal{{E}}}} è SE=SES_{\overline{\mathcal{E}^\dagger}} = \overline{S_{\mathcal{E}}}.

copy

copy()

GitHub

Eseguire una copia profonda dell'operatore corrente.

dot

dot(other, qargs=None)

GitHub

Restituisce l'operatore moltiplicato a destra self * altro.

Parametri

  • other (Operator) – un oggetto operatore.
  • qargs (list or None) – un elenco delle posizioni dei sottosistemi su cui applicare altre operazioni. Se "None" si applica a tutti i sottosistemi (impostazione predefinita: None).

Risultati

La matrice destra moltiplicata Operatore.

Tipo di restituzione

Operatore

Nota

Il prodotto di punti può essere ottenuto utilizzando l'operatore binario @ . Quindi a.dot(b) è equivalente a a @ b.

expand

expand(other)

GitHub

Restituisce il prodotto tensoriale di ordine inverso con un altro PTM.

Parametri

other (PTM) – un oggetto PTM.

Risultati

il prodotto tensoriale bab \otimes a, dove aa

è il PTM corrente e bb è l'altro PTM.

Tipo di restituzione

PTM

input_dims

input_dims(qargs=None)

GitHub

Restituisce una tupla di dimensioni di ingresso per i sottosistemi specificati.

is_cp

is_cp(atol=None, rtol=None)

GitHub

Verifica se la matrice di Choi è completamente positiva (CP)

Parametri

Tipo di restituzione

bool

is_cptp

is_cptp(atol=None, rtol=None)

GitHub

Restituisce True se la traccia è completamente positiva (CPTP).

Parametri

Tipo di restituzione

bool

is_tp

is_tp(atol=None, rtol=None)

GitHub

Test per verificare se un canale è a conservazione di traccia (TP)

Parametri

Tipo di restituzione

bool

is_unitary

is_unitary(atol=None, rtol=None)

GitHub

Restituisce True se QuantumChannel è un canale unitario.

Parametri

Tipo di restituzione

bool

output_dims

output_dims(qargs=None)

GitHub

Restituisce una tupla di dimensioni di uscita per i sottosistemi specificati.

power

power(n)

GitHub

Restituisce la potenza del canale quantistico.

Parametri

n (float) – l'esponente della potenza.

Risultati

il canale En\mathcal{{E}} ^n.

Tipo di restituzione

SuperOp

Aumenti

QiskitError – se le dimensioni di ingresso e di uscita dell' SuperOp e non sono uguali.

Nota

Per esponenti non positivi o non interi, la potenza è definita come la potenza della matrice della rappresentazione SuperOp cioè per un canale E\mathcal{{E}}, la SuperOp del canale alimentato En\mathcal{{E}}^n è SEn=SEnS_{{\mathcal{{E}}^n}} = S_{{\mathcal{{E}}}}^n.

reshape

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

GitHub

Restituisce una copia superficiale con le dimensioni dei sottosistemi di ingresso e di uscita rimodellate.

Parametri

  • input_dims (None or tuple) – nuove dimensioni di input del sottosistema. Se Nessuno, le attenuazioni dell'input originale verranno mantenute. [Predefinito: Nessuno].
  • output_dims (None or tuple) – nuove dimensioni di uscita del sottosistema. Se Nessuno, le gradazioni di output originali verranno mantenute. [Predefinito: Nessuno].
  • num_qubits (None or int) – rimodella in un operatore N-qubit [Predefinito: Nessuno].

Risultati

restituisce self con le dimensioni di ingresso e di uscita rimodellate.

Tipo di restituzione

BaseOperator

Aumenti

QiskitError – se la somma delle dimensioni di ingresso o di uscita di tutti i sottosistemi non è costante.

tensor

tensor(other)

GitHub

Restituisce il prodotto tensoriale con un altro PTM.

Parametri

other (PTM) – un oggetto PTM.

Risultati

il prodotto tensoriale aba \otimes b, dove aa

è il PTM corrente e bb è l'altro PTM.

Tipo di restituzione

PTM

Nota

Il prodotto tensoriale può essere ottenuto utilizzando l'operatore binario ^ . Quindi a.tensor(b) è equivalente a a ^ b.

to_instruction

to_instruction()

GitHub

Convertire in un'istruzione di circuito Kraus o UnitaryGate.

Se il canale è unitario, verrà aggiunto come porta unitaria, altrimenti verrà aggiunto come istruzione del simulatore di kraus.

Risultati

Un'istruzione kraus per il canale.

Tipo di restituzione

qiskit.circuit.Instruction

Aumenti

QiskitError – se i dati di ingresso non costituiscono un canale quantistico CPTP a N qubit.

to_operator

to_operator()

GitHub

Cercare di convertire il canale in una rappresentazione unitaria Operatore.

Tipo di restituzione

Operatore

transpose

transpose()

GitHub

Restituisce il canale quantistico trasposto.

Nota

Ciò equivale alla trasposizione della matrice nella SuperOp rappresentazione, ovvero, per un canale E\mathcal{E}, il canale SuperOp del canale trasposto ET\mathcal{{E}}^T è SET=SETS_{\mathcal{E}^T} = S_{\mathcal{E}}^T.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.