ghz

GHZ

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:

In total, 4 circuits were built mixing some of these techniques.

Circuits

5 qubits GHZ - notebook

GHZ 5 qubits circuit

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.

GHZ 5 qubits dists

cuts exported data
subcircuit 0 cuts
subcircuit 1 probabilities
  reconstructed probabilities

16 qubits GHZ - notebook

GHZ 16 qubits circuit

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:

GHZ 16 qubits IBM Guadalupe simulation

This one, was also cut using cutqc giving the following results:

GHZ 16 qubits cut result

cuts exported data
subcircuit 0 cuts
subcircuit 1 probabilities
subcircuit 2 reconstructed probabilities

28 qubits GHZ - notebook

GHZ 28 qubits circuit

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

GHZ 127 qubits circuit

The biggest one, is based on IBM’s Osaka backend. This one, was transpiled and executed on real hardware, the outcomes were the following:

osaka results

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.

osaka 20 qubits

osaka 20 qubits counts

Even that the extreme states are with high probability, it tends to deviate at each qubit addition.