Skip to main content
IBM Quantum Platform

GraphState

class qiskit.circuit.library.GraphState(adjacency_matrix)

GitHub

Basi: QuantumCircuit

Circuito per preparare lo stato del grafico.

Dato un grafo G = (V, E), con l'insieme dei vertici V e l'insieme degli spigoli E, il corrispondente stato del grafo è definito come

G=(a,b)ECZ(a,b)+V|G\rangle = \prod_{(a,b) \in E} CZ_{(a,b)} {|+\rangle}^{\otimes V}

Tale stato può essere preparato preparando prima tutti i qubit nello stato ++ e poi applicando un gate CZCZ per ogni bordo del grafo corrispondente.

I circuiti di preparazione degli stati grafici sono circuiti Clifford e quindi facili da simulare in modo classico. Tuttavia, aggiungendo alla fine un livello di misurazioni in base al prodotto, è dimostrato che il circuito diventa difficile da simulare [.]

Circuito di riferimento:

Schema che illustra il circuito precedentemente descritto.

Riferimenti:

[1] M. Hein, J. Eisert, H.J. Briegel, Entanglement multipartitico in stati grafici,

arXiv:0307130

[2] D. Koh, Ulteriori estensioni dei circuiti Clifford e loro complessità di simulazione classica.

arXiv:1512.07892

Creare il circuito di preparazione dello stato del grafico.

Deprecato dalla versione 2.1

La classe qiskit.circuit.library.graph_state.GraphState è deprecata a partire da Qiskit 2.1. Verrà rimosso in Qiskit 3.0. Utilizzare invece qiskit.circuit.library.GraphStateGate.

Parametri

adjacency_matrix (list | np.ndarray) – grafo di input come elenco n per n di elenchi 0-1

Aumenti

CircuitError – Se la matrice di adiacenza non è simmetrica.

Il circuito prepara uno stato del grafo con la matrice di adiacenza data.


Attributi

name

Tipo: str

Un nome leggibile per il circuito.

Esempio

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.