QCircuits 0.6.0

Last updated:

0 purchases

QCircuits 0.6.0 Image
QCircuits 0.6.0 Images
Add to Cart

Description:

QCircuits 0.6.0

Full documentation at www.awebb.info/qcircuits/index.html.
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)

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.