Skip to main content
IBM Quantum Platform

Semplificazione dell'operatore di Pauli

qiskit_addon_obp.utils.simplify

Funzioni per la semplificazione degli operatori di Pauli.

OperatorBudget

class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)

GitHub

Basi: object

Una classe per memorizzare le costanti che determinano la dimensione di un operatore.

La retropropagazione si interrompe se si verifica una delle seguenti condizioni:

  • Il numero di termini di Pauli in tutte le osservabili supera max_paulis. Quando max_paulis = None, il numero di termini di Pauli nelle osservabili non è vincolato.
  • Il numero di gruppi di Pauli commutativi tra i qubit in tutte le osservabili supera max_qwc_groups. Quando max_qwc_groups = None, il numero di gruppi Pauli commutativi tra i qubit nelle osservabili non è vincolato.

Parametri

  • max_paulis (int | None)
  • max_qwc_groups (int | None)
  • simplify (bool)
  • atol (float | None)
  • rtol (float | None)

atol

Tipo: float | None

Valore predefinito: None

Tolleranza assoluta per verificare se i coefficienti sono zero. Il valore predefinito è il atol di SparsePauliOp.

is_active

is_active()

GitHub

Restituisce se self pone dei limiti alla dimensione dell'operatore.

Tipo di restituzione

bool

max_paulis

Tipo: int | None

Valore predefinito: None

Il numero massimo di termini Pauli che l'operatore retropropagato può contenere.

max_qwc_groups

Tipo: int | None

Valore predefinito: None

Il numero massimo di gruppi di Pauli commutativi tra qubit che l'operatore retropropagato può contenere.

rtol

Tipo: float | None

Valore predefinito: None

Tolleranza relativa per verificare se i coefficienti sono zero. Il valore predefinito è il rtol di Sparse.

simplify

Tipo: bool

Valore predefinito: True

Un flag che indica se chiamare simplify() a ogni iterazione.

SimplifyMetadata

class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)

GitHub

Basi: object

Una semplice classe di dati per restituire gli attributi tracciati durante la semplificazione dell'operatore.

Parametri

  • num_unique_paulis (int)
  • num_duplicate_paulis (int)
  • num_trimmed_paulis (int)
  • sum_trimmed_coeffs (float)

num_duplicate_paulis

Tipo: int

Il numero di termini di Pauli duplicati. Vedere anche num_duplicate_paulis.

num_trimmed_paulis

Tipo: int

Il numero di termini di Pauli tagliati. Vedere anche num_trimmed_paulis.

num_unique_paulis

Tipo: int

Il numero di termini di Pauli unici. Vedere anche num_unique_paulis.

sum_trimmed_coeffs

Tipo: float

La somma dei coefficienti tagliati. Vedere anche sum_trimmed_coeffs.

simplify

simplify(operator, *, atol=None, rtol=None)

GitHub

Semplifica l'operatore di Pauli fornito.

Si tratta di un adattamento di SparsePauliOp.simplify() che tiene traccia dei metadati dei termini semplificati.

Parametri

  • operator (SparsePauliOp) – il sito SparsePauliOp per semplificare.
  • atol (float | None) – la tolleranza assoluta per verificare se i coefficienti sono zero. Se None, si ripiega sull'uso di SparsePauliOp.atol.
  • rtol (float | None) – la tolleranza relativa per verificare se i coefficienti sono zero. Se None, si ripiega sull'uso di SparsePauliOp.rtol.

Risultati

L'operatore di Pauli semplificato.

Tipo di restituzione

tupla [*SparsePauliOp*, SimplifyMetadata ]

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