Skip to main content
IBM Quantum Platform

simplify

simplify(mapper_fn)

Avvolge una funzione mapper in modo da semplificare l'operatore che restituisce.

La semplificazione unifica i termini di Pauli duplicati e, come effetto collaterale, ordina i termini secondo un ordine canonico. Vale la pena richiedere espressamente tale ordine in due situazioni:

  1. Non è garantito che l'ordine dei termini generato da un mapper non semplificato sia stabile tra un'esecuzione e l'altra, poiché gli operatori del core di Rust non preservano l'ordine in cui i termini sono stati aggiunti. Una formula di prodotto sintetizza i termini nell'ordine in cui li riceve, quindi un mapper non semplificato può generare ogni volta un circuito diverso (seppur ugualmente valido). Semplificarlo è un gioco da ragazzi.
  2. Unisce i termini che corrispondono alla stessa stringa di Pauli, accorciando così il circuito sintetizzato quando un mappatore genera tali duplicati.

Usalo per avvolgere qualsiasi MapperFunction:

MapperFnEvolutionSynthesis(simplify(jordan_wigner))

Parametri

mapper_fn (Callable[[OperatorTrait, int], SparseObservable]) – la funzione mapper da avvolgere.

Risultati

Una funzione mapper che semplifica qualsiasi valore mapper_fn restituito.

Tipo di restituzione

Callable [[ OperatorTrait, int ], SparseObservable ]

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