I'm looking for a way to test graph state verification protocols on the IBM Q. Has anyone yet written code to generate a graph state on IBM Q and also generate its stabilizer generators given the adjacency matrix of the graph as input?
1 Answer
There is a Graph State circuit available on IBM Qiskit. Graph state preparation circuits are Clifford circuits, and thus easy to simulate classically. However, by adding a layer of measurements in a product basis at the end, there is evidence that the circuit becomes hard to simulate. The circuit prepares a graph state with the given adjacency matrix. Given a graph G = (V, E), with the set of vertices V and the set of edges E, the corresponding graph state is defined as the following
|𝐺⟩ = ∏(𝑎,𝑏)∈𝐸𝐶𝑍(𝑎,𝑏)|+⟩⊗𝑉
Such a state can be prepared by first preparing all qubits in the + state, then applying a 𝐶𝑍 gate for each corresponding graph edge. The reference circuit is depicted in the IBM Qiskit library as below. Please find all the details of the Graph State circuit attributes and functions in the following link in the IBM Qiskit library.