Skip to main content
IBM Quantum Platform

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)

GitHub

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; None viene 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_idxs specificati né né cliffords .
  • ValueError : se uno qualsiasi degli elementi di cliffords presenta 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
cliffordL'operazione di Clifford complessiva per questa porta logica.
cliffordsUn elenco di tuple costituite da indici di qubit e da un operatore di Clifford che agisce su di essi.
constituent_gate_idxsIteratore sulle tuple di indici fisici che specificano dove agiscono i gate costituenti.
gate_idxsGli indici fisici su cui questo gate esercita un’azione unitaria.
idling_idxsGli indici dei qubit fisici su cui questo gate è inattivo.
labelUna didascalia testuale da utilizzare nelle legende dei grafici.
latex_strUna stringa " LaTeX " per questo gate.
math_labelUn’etichetta stringa da utilizzare nella modalità matematica di LaTeX.
meas_idxsGli indici dei qubit fisici misurati da questo gate.
model_gateRestituisce un oggetto che rappresenta ModelGate questa porta logica.
nameIl nome del cancello.
num_qubitsIl numero di qubit su cui agisce questo gate.
prep_idxsGli indici dei qubit fisici che questo gate prepara (o azzera).
qubit_idxsGli 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

Tipo: Self

Restituisce un oggetto che rappresenta ModelGate questa porta logica.

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 " CPC†C P C^\dagger "; in caso contrario, restituisce " C†PCC^\dagger P C ".

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.

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