Skip to main content
IBM Quantum Platform

qiskit_noise_learning.sequences.Path

class qiskit_noise_learning.sequences.Path(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)

GitHub

Basi: BaseSequence[FidelityIndex]

Una sequenza di indici di fedeltà.

Parametri

  • start_fragment – L'inizio della sequenza.
  • repeatable_fragment – La parte centrale ripetibile della sequenza.
  • end_fragment – La fine della sequenza.
  • fragment_depth – Il numero di ripetizioni del frammento ripetibile.

__init__

__init__(start_fragment: Iterable[T], repeatable_fragment: Iterable[T], end_fragment: Iterable[T], fragment_depth: int | None = None)


Metodi

Rubrica 1
Rubrica 2
__init__(inizio_frammento,...[, fragment_depth])
bind_at(fragment_depth)Restituisce una nuova istanza con gli stessi frammenti associati alla profondità dei frammenti.
extend_permutations(sequenza_di_istruzioni)Restituisce una sequenza di istruzioni con permutazioni estese per percorrere se stessa.
fragment_sign_flips(sequenza_di_istruzioni)Se i frammenti della sequenza di istruzioni invertono il segno dell’osservabile durante la traversata di self.
is_traversed_by(sequenza_di_istruzioni)Se la sequenza di istruzioni percorra o meno questo percorso.
to_instruction_sequence()Restituisce una sequenza di istruzioni con specifiche minime che percorre questo percorso.
unbind()Restituisce una nuova istanza con gli stessi frammenti, ma con la profondità dei frammenti impostata su None.

Attributi

Rubrica 1
Rubrica 2
end_fragmentIl frammento finale.
end_fragment_observable_idxsGli indici osservabili del frammento finale.
fragment_depthIl numero di ripetizioni del frammento ripetibile.
is_unboundSe la sequenza è libera.
repeatable_fragmentIl frammento ripetibile.
repeatable_fragment_observable_idxsGli indici osservabili del frammento ripetibile.
start_fragmentIl frammento iniziale.
start_fragment_observable_idxsGli indici osservabili del frammento iniziale.

start_fragment_observable_idxs

Tipo: list[list[int]]

Gli indici osservabili del frammento iniziale.

repeatable_fragment_observable_idxs

Tipo: list[list[int]]

Gli indici osservabili del frammento ripetibile.

end_fragment_observable_idxs

Tipo: list[list[int]]

Gli indici osservabili del frammento finale.

extend_permutations

extend_permutations(instruction_sequence: InstructionSequence) → InstructionSequence | None

Restituisce una sequenza di istruzioni con permutazioni estese per percorrere se stessa.

Dato un instruction_sequence, questo metodo cerca di estenderne la definizione costruendo una nuova sequenza di istruzioni con la stessa struttura dell'input, ma in cui gli PartialPauliPermutations vengono estesi per specificare il superset minimo di mappature necessario per percorrere questo percorso. Se ciò non fosse possibile, la funzione restituirà None, indicando che la procedura non è andata a buon fine.

Per quanto riguarda l'algoritmo specifico, quando si incontra un PartialPauliPermutation durante l'iterazione congiunta su e self instruction_sequence, questo metodo tenterà di estendere la permutazione per mappare l'attuale Pauli nel percorso al Pauli nel successivo rilevante FidelityIndex. Si noti che ciò può causare errori nei casi in cui si verifichino più permutazioni consecutive, anche se tecnicamente è possibile trovare una sequenza di superistruzioni che percorra il percorso.

Parametri

sequenza_di_istruzioni – La sequenza di istruzioni di base.

Risultati

La sequenza di istruzioni estesa, oppure, se None l'estensione non è possibile.

Aumenti

ValueError : se le transizioni di non iniziano e non self terminano con l'identità.

is_traversed_by

is_traversed_by(instruction_sequence: InstructionSequence) → bool

Se la sequenza di istruzioni percorra o meno questo percorso.

Il fatto che un Path sia attraversato o meno da un InstructionSequence viene determinato frammento per frammento.

Richiede che il percorso inizi e finisca con l'identità.

Parametri

sequenza_di_istruzioni – La sequenza di istruzioni.

Risultati

Indipendentemente dal fatto che il percorso venga percorso o meno.

Aumenti

ValueError : se il percorso non inizia e non termina con l'identità.

fragment_sign_flips

fragment_sign_flips(instruction_sequence: InstructionSequence) → tuple[bool, bool]

Se i frammenti della sequenza di istruzioni invertono il segno dell’osservabile durante la traversata di self.

Richiede che il percorso inizi e finisca con l'identità. Questo metodo ignora le profondità dei frammenti del percorso e della sequenza di istruzioni, operando esclusivamente sulla struttura dei frammenti.

Parametri

sequenza_di_istruzioni – Una sequenza di istruzioni che percorre questo percorso.

Risultati

Una tupla di valori booleani, in cui il primo indica se l'azione combinata dei frammenti iniziale e finale inverte il segno, mentre il secondo indica se il frammento ripetibile inverte il segno.

Aumenti

  • ValueError : se il percorso non soddisfa i presupposti.
  • ValueError : se la sequenza di istruzioni non percorre il percorso.

to_instruction_sequence

to_instruction_sequence() → InstructionSequence

Restituisce una sequenza di istruzioni con specifiche minime che percorre questo percorso.

Gli strati di Clifford a singolo qubit tra gli elementi del set di gate sono indicati con PartialPauliPermutations, specificando solo le mappature necessarie per percorrere questo percorso. La profondità dei frammenti della sequenza di istruzioni restituita è self.fragment_depth.

Risultati

Una sequenza di istruzioni che percorre questo percorso.

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