qiskit_noise_learning.gate_sets.ModelGate
class qiskit_noise_learning.gate_sets.ModelGate(name: str, cliffords: Iterable[tuple[tuple[int, ...], Clifford]] | None = None, qubit_idxs: Iterable[int] | None = None, meas_idxs: Iterable[int] = (), prep_idxs: Iterable[int] = (), latex_str: str | None = None)
Basi: Gate
Un modello per un gate della forma Clifford - MCM - reset.
Parametri
- cliffords – Un iterabile di tuple costituite dagli indici fisici dei qubit e dai valori di
Cliffords corrispondenti allo strato di Clifford ideale. L'ordine dell'iterabile dovrebbe iniziare con il primo Clifford applicato e procedere in ordine temporale;Noneviene interpretato come l'identità. - qubit_idxs – Gli indici fisici dei qubit.
- meas_idxs – Gli indici fisici dei qubit misurati da questo gate.
- prep_idxs – Gli indici dei qubit fisici che questo gate prepara o ripristina.
- latex_str – Una stringa opzionale di tipo “ LaTeX ” per il rendering di questo gate.
Aumenti
- ValueError : se non sono
qubit_idxsspecificati né nécliffords. - ValueError : se uno qualsiasi degli elementi di
cliffordspresenta una discrepanza tra la lunghezza degli indici dei qubit e il numero di qubit dell'operatore di Clifford.
__init__
__init__(name: str, cliffords: Iterable[tuple[tuple[int, ...], Clifford]] | None = None, qubit_idxs: Iterable[int] | None = None, meas_idxs: Iterable[int] = (), prep_idxs: Iterable[int] = (), latex_str: str | None = None)
Metodi
Rubrica 1 | Rubrica 2 |
|---|---|
__init__(nome[, cliffords, qubit_idxs, ...]) | |
clifford_propagate(...) | Dato un operatore di Pauli, applicarvi l'operazione di Clifford ideale. |
Attributi
Rubrica 1 | Rubrica 2 |
|---|---|
clifford | L'operazione di Clifford complessiva per questa porta logica. |
cliffords | Un elenco di tuple costituite da indici di qubit e da un operatore di Clifford che agisce su di essi. |
constituent_gate_idxs | Iteratore sulle tuple di indici fisici che specificano dove agiscono i gate costituenti. |
gate_idxs | Gli indici fisici su cui questo gate esercita un’azione unitaria. |
idling_idxs | Gli indici dei qubit fisici su cui questo gate è inattivo. |
label | Una didascalia testuale da utilizzare nelle legende dei grafici. |
latex_str | Una stringa " LaTeX " per questo gate. |
math_label | Un’etichetta stringa da utilizzare nella modalità matematica di LaTeX. |
meas_idxs | Gli indici dei qubit fisici misurati da questo gate. |
model_gate | Restituisce un oggetto che rappresenta ModelGate questa porta logica. |
name | Il nome del cancello. |
num_qubits | Il numero di qubit su cui agisce questo gate. |
prep_idxs | Gli indici dei qubit fisici che questo gate prepara (o azzera). |
qubit_idxs | Gli indici dei qubit fisici su cui agisce questo gate. |
clifford
Tipo: Clifford
L'operazione di Clifford complessiva per questa porta logica.
cliffords
Tipo: list[tuple[tuple[int,...], Clifford]]
Un elenco di tuple costituite da indici di qubit e da un operatore di Clifford che agisce su di essi.
L'elenco è in ordine cronologico. Ogni elemento contiene gli indici dei qubit su cui agisce il corrispondente Clifford.
model_gate
constituent_gate_idxs
Tipo: Iterator[tuple[int,...]]
Iteratore sulle tuple di indici fisici che specificano dove agiscono i gate costituenti.
Alcune sottoclassi potrebbero non avere una nozione significativa di cosa sia un “gate costituente”, poiché non scelgono di rappresentare l’azione unitaria tramite una rappresentazione separabile. L'unica condizione che devono soddisfare è che l'unione di tutti i numeri interi ottenuti sia pari a gate_idxs.
clifford_propagate
clifford_propagate(pauli: QubitSparsePauli, inverse: bool = False) → QubitSparsePauli
clifford_propagate(pauli: PhasedQubitSparsePauli, inverse: bool = False) → PhasedQubitSparsePauli
Dato un operatore di Pauli, applicarvi l'operazione di Clifford ideale.
Se inverse == False (impostazione predefinita), questo metodo restituisce " "; in caso contrario, restituisce " ".
Se l'input è di tipo Pauli senza fase, la propagazione avverrà senza fase.
Si noti che il Clifford verrà applicato a self.qubit_idxs.
Parametri
- pauli – Il Pauli da diffondere.
- inverso – Se applicare il gate o il suo inverso.
Risultati
Il risultato propagato, che ha lo stesso tipo dell'input.
Aumenti
TypeError : se viene specificato un tipo non valido.