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:
PassManager
and Sampler
)In total, 4 circuits were built mixing some of these techniques.
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 |
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 |
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 |
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 $ | 00000…0\rangle$ and 50% for $ | 11111…1\rangle$. However, due the amount of errors 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.