You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
QCircuits is a Python package for the simulation and study of quantum computers based on the
quantum circuit model.
It has been designed to have a simple, lightweight interface and to be
easy to use, particularly for those new to quantum computing.
Installation
Install with pip:
pip install qcircuits
or from the source available here.
Example usage: quantum teleportation
Quantum circuit:
Code:
import qcircuits as qc
# Instantiating the operators we will need
CNOT = qc.CNOT()
H = qc.Hadamard()
X = qc.PauliX()
Z = qc.PauliZ()
# Alice's hidden state, that she wishes to transport to Bob.
alice = qc.qubit(theta=1, phi=1, global_phase=0.2)
# A previously prepared Bell state, with one qubit owned by
# alice, and another by Bob, now physically separated.
bell_state = qc.bell_state(0, 0)
# The state vector for the whole system.
phi = alice * bell_state
# Alice applies a CNOT gate to her two qubit, and then
# a Hadamard gate to her private qubit.
phi = CNOT(phi, qubit_indices=[0, 1])
phi = H(phi, qubit_indices=[0])
# Alice measures the first two bits, and transmits the classical
# bits to Bob.
# The only uncollapsed part of the state vector is Bob's.
M1, M2 = phi.measure(qubit_indices=[0, 1], remove=True)
# Apply X and/or Z gates to third qubit depending on measurements
if M2:
print('First bit 1, applying X\n')
phi = X(phi)
if M1:
print('Second bit 1, applying Z\n')
phi = Z(phi)
print('Original state:', alice)
print('\nTeleported state:', phi)
About
A Python package for simulating small-scale quantum computers.