A repository about GHZ state preparation with low depth quantum circuits. In the NISQ device era, one way to improve the results obtained in a experiment on a quantum computer, is to reduce the number of qubits, the number of gates and the circuit depth, because these points can increase the chance of occurence of a quantum error. Combining these reductions on the number of qubits, the number of gates and circuit depth, with error mitigation techniques and good usage of devices coupling map layout, we have an excellent setup to achieve very good results on a real device. Once entangled states, like GHZ state, are a fundamental resource on quantum computation (for instance: Quantum Teleportation, Superdense coding, QECC and others), having a way to prerare these states with high state fidelity is a key piece to achieve good results on some quantum algorithms and protocols, then is very important that quantum computing community spend some time trying to build and find some techniques that aim the reduction of number of qubits usage, the number of gates and the circuit depth.
- Clone the repository
git clone https://github.com/jvscursulim/low_depth_ghz_state_generator.git
- Create a virtual environment
python -m venv env
- Activate your virtual environment
- Linux
source env/bin/activate
- Windows
cd env/Scripts
call activate
- Install pipenv and the necessary packages
pip install pipenv
pipenv install
from qiskit_aer import AerSimulator
from ghz_state_preparator import create_ghz_state_quantum_circuit
qc = create_ghz_state_quantum_circuit(num_qubits=num_qubits, add_measurements=True)
counts = backend.run(qc, shots=shots).result().get_counts()
Example: 20 qubits GHZ state