Skip to main content
IBM Quantum Platform

Stinespring

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

GitHub

Basi: QuantumChannel

Rappresentazione di Stinespring di un canale quantistico.

La rappresentazione di Stinespring di un canale quantistico E\mathcal{E} è una matrice rettangolare AA tale che l'evoluzione di a DensityMatrix ρ\rho è data da

E(ρ)=Tr2[AρA†]\mathcal{E}(ρ) = \text{Tr}_2\left[A ρ A^\dagger\right]

dove Tr2\text{Tr}_2 è il partial_trace() sottosistema 2.

Una mappa generale dell'operatore G\mathcal{G} può anche essere scritta utilizzando la rappresentazione generalizzata di Stinespring, che è data da due matrici AA, BB tali che

G(ρ)=Tr2[AρB†]\mathcal{G}(ρ) = \text{Tr}_2\left[A ρ B^\dagger\right]

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 Stinespring del canale quantistico.

Parametri

Aumenti

QiskitError – se i dati di input non possono essere inizializzati come elenco di matrici di Kraus.

Ulteriori informazioni:

Se le dimensioni di ingresso o di uscita sono Nessuna, vengono determinate automaticamente dai dati di ingresso. Questo può fallire per l'operatore Stinespring se la dimensione di uscita non può essere determinata automaticamente.


Attributi

atol

Valore predefinito: 1e-08

data

dim

Restituisce una tupla (forma_input, forma_output).

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 equivale alla matrice coniugata hermitiana nella rappresentazione SuperOp cioè per un canale E\mathcal{E}, la SuperOp del canale adiacente E†\mathcal{{E}}^\dagger è SE†=SE†S_{\mathcal{E}^\dagger} = S_{\mathcal{E}}^\dagger.

Tipo di restituzione

Sé

compose

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

GitHub

Restituire la composizione dell'operatore con un altro Stinespring.

Parametri

  • other (Stinespring) – un oggetto Stinespring.
  • 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 composto Stinespring.

Tipo di restituzione

Stinespring

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†‾=SE‾S_{\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 Stinespring.

Parametri

other (Stinespring) – un oggetto Stinespring.

Risultati

il prodotto tensoriale b⊗ab \otimes a, dove aa

è l'attuale Stinespring e bb è l'altro Stinespring.

Tipo di restituzione

Stinespring

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.

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 Stinespring.

Parametri

other (Stinespring) – un oggetto Stinespring.

Risultati

il prodotto tensoriale a⊗ba \otimes b, dove aa

è l'attuale Stinespring e bb è l'altro Stinespring.

Tipo di restituzione

Stinespring

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, sarà aggiunto come porta unitaria, altrimenti sarà 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.