qiskit.circuit.library.evolved_operator_ansatz
qiskit.circuit.library.evolved_operator_ansatz(operators, reps=1, evolution=None, insert_barriers=False, name='EvolvedOps', parameter_prefix='t', remove_identities=True, flatten=None)
Costruire un'ansatz a partire dalle evoluzioni degli operatori.
Per un insieme di operatori e di ripetizioni (reps), questo circuito è definito come
dove gli esponenziali sono espansi utilizzando la formula del prodotto specificata da evolution.
Esempi:
from qiskit.circuit.library import evolved_operator_ansatz
from qiskit.quantum_info import Pauli
ops = [Pauli("ZZI"), Pauli("IZZ"), Pauli("IXI")]
ansatz = evolved_operator_ansatz(ops, reps=3, insert_barriers=True)
ansatz.draw("mpl")
Parametri
- operators (BaseOperator | Sequence[BaseOperator]) – Gli operatori si evolvono. Può essere un singolo operatore o una sua sequenza.
- reps (int) – Il numero di volte in cui ripetere gli operatori evoluti.
- evolution (EvolutionSynthesis | None) – Una specificazione di quale sintesi evolutiva utilizzare per l'oggetto
PauliEvolutionGate. Predefinito al primo ordine di trotterizzazione. Si noti che gli operatori di tipoOperatorvengono evoluti utilizzando la formulaHamiltonianGatepoiché non ci sono termini hamiltoniani da espandere nella Trotterizzazione. - insert_barriers (bool) – Se inserire o meno delle barriere tra ogni evoluzione.
- name (str) – Il nome del circuito.
- parameter_prefix (str | Sequence[str]) – Impostare i nomi dei parametri del circuito. Se si tratta di una stringa, verrà utilizzato lo stesso prefisso per ogni parametro. Può anche trattarsi di un elenco che specifica un prefisso per ciascun operatore.
- remove_identities (bool) – Se
True, ignorare gli operatori di identità (si noti che non si controllano gliOperatorgli ingressi). Questo rimuoverà anche i parametri associati alle identità. - flatten (bool | None) – Se
True, viene restituito un circuito piatto invece di annidarlo all'interno di più strati di oggetti gate. L'impostazione diFalseè significativamente meno performante, soprattutto per il binding dei parametri, ma può essere auspicabile per una visualizzazione più pulita.
Tipo di restituzione
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.