Skip to main content
IBM Quantum Platform

GraphState

class qiskit.circuit.library.GraphState(adjacency_matrix)

GitHub

Bases: QuantumCircuit

Circuito para preparar un estado gráfico.

Dado un grafo G = (V, E), con el conjunto de vértices V y el conjunto de aristas E, el estado del grafo correspondiente se define como

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

Dicho estado puede prepararse preparando primero todos los qubits en el estado ++, y aplicando después una puerta CZCZ para cada arista del grafo correspondiente.

Los circuitos de preparación de estados gráficos son circuitos Clifford y, por tanto, fáciles de simular clásicamente. Sin embargo, al añadir al final una capa de mediciones en función del producto, hay pruebas de que el circuito se vuelve difícil de simular [2].

Circuito de referencia:

Diagrama que ilustra el circuito descrito anteriormente.

Referencias:

[1] M. Hein, J. Eisert, H.J. Briegel, Multi-party Entanglement in Graph States,

arXiv:0307130

[2] D. Koh, Further Extensions of Clifford Circuits & their Classical Simulation Complexities.

arXiv:1512.07892

Crear circuito de preparación del estado gráfico.

Obsoleto desde la versión 2.1

La clase qiskit.circuit.library.graph_state.GraphState está obsoleta a partir de Qiskit 2.1. Se eliminará en Qiskit 3.0. Utilice qiskit.circuit.library.GraphStateGate en su lugar.

Parámetros

adjacency_matrix (list | np.ndarray) – gráfico de entrada como lista n-por-n de listas 0-1

Eleva

CircuitError - Si la matriz de adyacencia no es simétrica.

El circuito prepara un estado del grafo con la matriz de adyacencia dada.


Atributos

name

Tipo: str

Un nombre legible para el circuito.

Ejemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.