Skip to main content
IBM Quantum Platform

EquivalenceLibrary

class qiskit.circuit.EquivalenceLibrary(base=None)

GitHub

Basi: BaseEquivalenceLibrary

Una libreria che fornisce una mappatura unidirezionale di Gates alle loro implementazioni equivalenti come QuantumCircuits.


Attributi

graph

Restituisce un grafico che rappresenta i dati della libreria di equivalenza.

Questa proprietà deve essere trattata in sola lettura, poiché fornisce un riferimento allo stato interno dell'oggetto EquivalenceLibrary oggetto. Se il grafico restituito da questa proprietà viene mutato, il contenuto dell'oggetto potrebbe essere corrotto. Se è necessario modificare l'output PyDiGraph , assicurarsi di farne una copia prima di qualsiasi modifica.

Risultati

Un oggetto grafo con dati di equivalenza in ogni nodo.

Tipo di restituzione

PyDiGraph


Metodi

add_equivalence

add_equivalence(gate, equivalent_circuit)

Aggiungere una nuova equivalenza alla libreria. Le future interrogazioni per il Gate includeranno il circuito dato, oltre a tutte le equivalenze esistenti (comprese quelle della base).

Le porte parametrizzate (quelle che includono qiskit.circuit.Parameters nel loro Gate.params ) possono essere contrassegnate come equivalenti ai circuiti parametrizzati, purché i parametri corrispondano.

Parametri

  • gate (Gate) – Un'istanza di Gate.
  • equivalent_circuit (QuantumCircuit) – Un circuito che implementi in modo equivalente il Gate specificato.

draw

draw(filename=None)

GitHub

Disegna le relazioni di equivalenza disponibili nella libreria.

Avvertenza

Questa funzione richiamerà lo strumento Graphviz di sistema su un file contenente stringhe modificabili dall'utente (come i nomi dei gate). Si raccomanda di richiamare questa funzione solo con dati di input attendibili.

Parametri

filename (str) – Percorso facoltativo in cui salvare l'immagine risultante. Se non specificato, verrà restituita l'immagine.

Risultati

Se filename è None, allora l'immagine visualizzata.

Tipo di restituzione

PIL.Image

Aumenti

InvalidFileError – se il nome del file non è valido.

get_entry

get_entry(gate)

Recupera l'insieme delle QuantumCircuit istanze di circuiti presenti nella libreria che implementano in modo equivalente il dato Gate.

I circuiti parametrizzati avranno i loro parametri sostituiti con le voci corrispondenti di Gate.params.

Parametri

gate (Gate) – Un'istanza di Gate.

Risultati

Un elenco di istanze equivalenti QuantumCircuit .

Se è vuota, la libreria non contiene decomposizioni note di Gate.

I circuiti restituiti saranno ordinati in base al loro inserimento nella biblioteca, dal più antico al più recente, dall'alto verso il basso. L'ordine di StandardEquivalenceLibrary non sarà generalmente coerente tra le varie versioni di Qiskit.

Tipo di restituzione

Elenco [ QuantumCircuit ]

has_entry

has_entry(gate)

Controlla se una libreria contiene decomposizioni per gate.

Parametri

gate (Gate) – Un'istanza di Gate.

Risultati

Vero se il gate ha una decomposizione nota nella libreria.

Falso altrimenti.

Tipo di restituzione

Bool

keys

keys()

Restituisce un elenco di chiavi per la mappa degli indici dei nodi.

Risultati

Chiavi della mappa degli indici da chiave a nodo.

Tipo di restituzione

Elenco

node_index

node_index(key)

Restituisce l'indice del nodo per una determinata chiave.

Parametri

key (Key) – Chiave di un'equivalenza.

Risultati

Indice al nodo del grafo per la chiave data.

Tipo di restituzione

Int

set_entry

set_entry(gate, entry)

Imposta il record di equivalenza per un Gate. Le future interrogazioni del Gate restituiranno solo i circuiti forniti.

Le porte parametrizzate (quelle che includono qiskit.circuit.Parameters nel loro Gate.params ) possono essere contrassegnate come equivalenti ai circuiti parametrizzati, purché i parametri corrispondano.

Parametri

  • gate (Gate) – Un'istanza di Gate.
  • entry (List['QuantumCircuit']) – Un elenco di QuantumCircuit istanze, ciascuna delle quali implementa in modo equivalente il Gate specificato.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.