This repo contains some tests on creating GHZ states using Qiskit.
For this project, the idea was to explore some different techniques to create big GHZ states.
The techniques I used were:
- circuit knitting
- topology mapping
- circuit transpilation (using Qiskit
PassManagerandSampler)
In total, 4 circuits were built mixing some of these techniques.
5 qubits GHZ - notebook
This one was the first test done with circuit knitting, using the cutqc module from circuit knitting toolbox package.
Here the circuit was cut in 2 separated parts, measured and them joined together.
| cuts | exported data |
|---|---|
| subcircuit 0 | cuts |
| subcircuit 1 | probabilities |
| reconstructed probabilities |
16 qubits GHZ - notebook
The second is a 16 qubits circuit, following the topology of IBM's Guadalupe backend. After mapping each qubit connection, the resulting distribution after simulating was:
This one, was also cut using cutqc giving the following results:
| cuts | exported data |
|---|---|
| subcircuit 0 | cuts |
| subcircuit 1 | probabilities |
| subcircuit 2 | reconstructed probabilities |
28 qubits GHZ - notebook
The 28 qubits version was based on IBM's Cambridge backend, however this one wasn't executed due to hardware issues. Nevertheless, some cuts were done.
| cuts | exported data |
|---|---|
| subcircuit 0 | cuts |
| subcircuit 1 | probabilities |
| subcircuit 2 | |
| subcircuit 3 |
127 qubits GHZ - notebook
The biggest one, is based on IBM's Osaka backend. This one, was transpiled and executed on real hardware, the outcomes were the following:
These results seem really wrong, once the expected was nearly 50% of probability for cx gates, it's probably the accurate result for a real device.
This effect can be seem in a local test executed with 20 qubits.
Even that the extreme states are with high probability, it tends to deviate at each qubit addition.









