chi
class qiskit.quantum_info.Chi(data, input_dims=None, output_dims=None)
Basi: QuantumChannel
Rappresentazione della base di Pauli della matrice Chi di un canale quantistico.
La rappresentazione a matrice Chi di un canale quantistico -qubit è una matrice tale che l'evoluzione di a DensityMatrix è data da
dove è la base di Pauli di -qubit in ordine lessicografico. È correlato alla Choi rappresentazione mediante un cambio di base della matrice di Choi nella base di Pauli. nella definizione precedente è un fattore di normalizzazione che deriva dal ridimensionamento della base di Pauli per renderla ortonormale.
Per ulteriori dettagli si veda il riferimento [1].
Riferimenti
- 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 matrice Chi del canale quantistico.
Parametri
- data (QuantumCircuit |circuit.instruction.Instruction | BaseOperator | np.ndarray) – dati per l'inizializzazione del superoperatore.
- input_dims (int |tuple | None) – le dimensioni del sottosistema di ingresso.
- output_dims (int |tuple | None) – le dimensioni del sottosistema di uscita.
Aumenti
QiskitError – se i dati di input non sono un canale a N qubit o non possono essere inizializzati come matrice Chi.
Ulteriori informazioni:
Se le dimensioni di ingresso o di uscita sono Nessuna, vengono determinate automaticamente dai dati di ingresso. La rappresentazione della matrice Chi è valida solo per i canali a N-qubit.
Attributi
atol
Valore predefinito: 1e-08
data
Dati di ritorno.
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()
Restituisce il canale quantistico aggiunto.
Questo equivale alla matrice coniugata hermitiana nella rappresentazione SuperOp cioè per un canale , la SuperOp del canale adiacente è .
compose
compose(other, qargs=None, front=False)
Restituisce la composizione dell'operatore con un altro Chi.
Parametri
- other (Chi) – un oggetto Chi.
- 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 Chi composto.
Tipo di restituzione
Aumenti
QiskitError – se l’altro non può essere convertito in un operatore o presenta dimensioni incompatibili con i sottosistemi specificati.
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()
Restituisce il canale quantistico coniugato.
Questo è equivalente alla matrice complessa coniugata nella rappresentazione SuperOp cioè per un canale , la SuperOp del canale coniugato è .
copy
dot
dot(other, qargs=None)
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
Il prodotto di punti può essere ottenuto utilizzando l'operatore binario @ . Quindi a.dot(b) è equivalente a a @ b.
expand
expand(other)
Restituisce il prodotto tensoriale di ordine inverso con un altro Chi.
Parametri
other (Chi) – un oggetto Chi.
Risultati
il prodotto tensoriale , dove
è il Chi attuale e è l'altro Chi.
Tipo di restituzione
input_dims
input_dims(qargs=None)
Restituisce una tupla di dimensioni di ingresso per i sottosistemi specificati.
is_cp
is_cp(atol=None, rtol=None)
Verifica se la matrice di Choi è completamente positiva (CP)
Parametri
Tipo di restituzione
is_cptp
is_cptp(atol=None, rtol=None)
Restituisce True se la traccia è completamente positiva (CPTP).
Parametri
Tipo di restituzione
is_tp
is_tp(atol=None, rtol=None)
Test per verificare se un canale è a conservazione di traccia (TP)
Parametri
Tipo di restituzione
is_unitary
is_unitary(atol=None, rtol=None)
Restituisce True se QuantumChannel è un canale unitario.
Parametri
Tipo di restituzione
output_dims
output_dims(qargs=None)
Restituisce una tupla di dimensioni di uscita per i sottosistemi specificati.
power
power(n)
Restituisce la potenza del canale quantistico.
Parametri
n (float) – l'esponente della potenza.
Risultati
il canale .
Tipo di restituzione
Aumenti
QiskitError – se le dimensioni di ingresso e di uscita dell' SuperOp e non sono uguali.
Per esponenti non positivi o non interi, la potenza è definita come la potenza della matrice della rappresentazione SuperOp cioè per un canale , la SuperOp del canale alimentato è .
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
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)
Restituisce il prodotto tensoriale con un altro Chi.
Parametri
other (Chi) – un oggetto Chi.
Risultati
il prodotto tensoriale , dove
è il Chi attuale e è l'altro Chi.
Tipo di restituzione
Il prodotto tensoriale può essere ottenuto utilizzando l'operatore binario ^ . Quindi a.tensor(b) è equivalente a a ^ b.
to_instruction
to_instruction()
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
Aumenti
QiskitError – se i dati di ingresso non costituiscono un canale quantistico CPTP a N qubit.
to_operator
to_operator()
Cercare di convertire il canale in una rappresentazione unitaria Operatore.
Tipo di restituzione