qiskit_noise_learning.sequences.FidelityIndex
class qiskit_noise_learning.sequences.FidelityIndex(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
Basi: object
Dati di indice relativi a una fedeltà in un insieme di porte Pauli-MCM-reset.
Sia il numero di qubit, , i qubit misurati e i qubit di reset per il gate. Per un dato gate, ciascuna fedeltà è specificata da:
- Un Pauli sui qubit non misurati e non resettati ,
- Un operatore di tipo " " sui qubit misurati, , e
- Un operatore di tipo " " sui qubit misurati e reimpostati, .
Questo elenco costituisce i “dati di indice” per una fedeltà generalizzata relativa a un dato gate, nel senso che esiste una biiezione tra tutte le fedeltà generalizzate e l’insieme sopra indicato di tutti gli oggetti che soddisfano la descrizione sopra riportata. Si veda l’equazione (3) del formalismo matematico per la scomposizione in cui compaiono.
Gli esponenti e sono memorizzati come insiemi di indici di qubit su cui sono diversi da zero, ovvero in_z_idxs e out_z_idxs – in altre parole, i qubit su cui e agiscono in modo non banale.
Il costruttore FidelityIndex.from_gate() crea un FidelityIndex partendo da un ModelGate e dai dati dell'indice univoco sopra indicati. In alternativa, FidelityIndex.from_transition() è possibile utilizzare per costruire un’istanza a partire dalla transizione di Pauli implicita nei dati dell’indice. Il FidelityIndex.__init__() è considerato un costruttore “di basso livello” che accetta tutte le proprietà memorizzate senza effettuare alcuna convalida.
Parametri
- gate_name – Il nome del cancello.
- pauli – Un operatore di Pauli che supporta i qubit non misurati e non resettati. Si noti che
pauli.num_qubitsdetermina la dimensione degli operatori restituiti daself.transition. - in_z_idxs – Gli indici dei qubit per i quali è diverso da zero.
- out_z_idxs – Gli indici dei qubit per i quali è diverso da zero.
- input_pauli – Il valore di Pauli in ingresso della transizione.
- output_pauli – Il valore di Pauli in uscita dalla transizione.
- sign_flip – Indica se la transizione comporta un’inversione del segno.
- meas_idxs – Gli indici dei qubit di misura per il gate.
__init__
__init__(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
Metodi
Rubrica 1 | Rubrica 2 |
|---|---|
__init__(gate_name, pauli, in_z_idxs,...) | |
from_gate(gate, pauli[, in_z_idxs, out_z_idxs]) | Calcolare un indice di fedeltà a partire dai dati relativi ai gate e agli indici univoci. |
from_transition(gate, in_pauli, out_pauli) | Calcolare un indice di fedeltà a partire da una transizione di Pauli sui registri quantistici. |
is_valid_for_gate(gate, pauli[, in_z_idxs, ...]) | Se i dati dell'indice forniti costituiscono un indice di fedeltà valido per il gate. |
Attributi
Rubrica 1 | Rubrica 2 |
|---|---|
gate_name | Il nome del cancello. |
in_z_idxs | I qubit misurati che trasportano un’ e all’ingresso dello strumento. |
meas_idxs | Gli indici dei qubit fisici misurati dal gate. |
observable_idxs | Indici dei qubit dell'osservabile associato " " in ordine crescente. |
out_z_idxs | I qubit misurati e reimpostati generano un’ e sull’uscita dello strumento. |
pauli | L'operatore di Pauli sulla parte di Clifford del gate del modello. |
sign_flip | Se la transizione associata a questa fedeltà comporti un’inversione di segno. |
transition | La transizione dell'operatore di Pauli senza fase associata a questo indice di fedeltà. |
from_gate
classmethod from_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → Self
Calcolare un indice di fedeltà a partire dai dati relativi ai gate e agli indici univoci.
Parametri
- cancello – Il modello di cancello.
- pauli – Un operatore di Pauli che supporta i qubit non misurati e non resettati.
- in_z_idxs – Il sottoinsieme degli indici dei qubit di misura che trasportano un’ e sull’ingresso dello strumento.
- out_z_idxs – Il sottoinsieme dell’unione degli indici dei qubit di misurazione e di reset che trasportano un’ e sull’uscita dello strumento.
Aumenti
ValueError : se i dati forniti non sono coerenti con il gate.
is_valid_for_gate
classmethod is_valid_for_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → bool
Se i dati dell'indice forniti costituiscono un indice di fedeltà valido per il gate.
Questo codice esegue gli stessi controlli di coerenza (privi di effetti collaterali) di from_gate(), senza creare l'indice né calcolarne la transizione.
Parametri
- cancello – Il modello di cancello.
- pauli – Un operatore di Pauli che supporta i qubit non misurati e non resettati.
- in_z_idxs – Il sottoinsieme degli indici dei qubit di misura che trasportano un’ e sull’ingresso dello strumento.
- out_z_idxs – Il sottoinsieme dell’unione degli indici dei qubit di misurazione e di reset che trasportano un’ e sull’uscita dello strumento.
from_transition
classmethod from_transition(gate: ModelGate, in_pauli: QubitSparsePauli, out_pauli: QubitSparsePauli) → Self
Calcolare un indice di fedeltà a partire da una transizione di Pauli sui registri quantistici.
Questo costruttore ricava gli insiemi di indici di Pauli e di di un FidelityIndex a partire dalla transizione di Pauli specificata.
Parametri
- cancello – Il modello di cancello.
- in_pauli – L’input Pauli sul registro quantistico.
- out_pauli – L'output Pauli sul registro quantistico.
Aumenti
ValueError : se la coppia di operatori di Pauli non implica una valida FidelityIndex.
gate_name
Tipo: str
Il nome del cancello.
pauli
Tipo: QubitSparsePauli
L'operatore di Pauli sulla parte di Clifford del gate del modello.
in_z_idxs
out_z_idxs
meas_idxs
sign_flip
Tipo: bool
Se la transizione associata a questa fedeltà comporti un’inversione di segno.
transition
Tipo: tuple[QubitSparsePauli, QubitSparsePauli]
La transizione dell'operatore di Pauli senza fase associata a questo indice di fedeltà.