Controlled NOT Program

This is a simple program for beginners demonstrating quantum entanglement.

Download: Here

What does it do

This program entangles 2 qubits with a Controlled NOT gate.

  1. First 2 qubits are initialised.

  2. A pauli X gate is applied to the first qubit so that its state is 1.

  3. Then a CNOT is applied to both gates. Because the first qubit is 1 the second qubit will be flipped to 1.

Circuit Diagram of the program

Circuit diagram of the program

Circuit diagram of the program

Device used

The ibmq_qasm_simulator is used which simulates a real quantum device. Note that results from this simulator contain no errors unlike on the real quantum devices which are fairly noisy.

Note: This program requires that you have an API token. To get one sign up to IBM Q Experience and get your token here: https://quantum-computing.ibm.com/account

Source

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute,IBMQ

IBMQ.enable_account('Enter API token here')
provider = IBMQ.get_provider(hub='ibm-q')

q = QuantumRegister(2,'q')
c = ClassicalRegister(2,'c')

circuit = QuantumCircuit(q,c)
circuit.x(q[0]) # Pauli x gate applied to first qubit 
circuit.cx(q[0],q[1]) # CNOT applied to both qubits 
circuit.measure(q,c) # Qubits states are measured 

backend = provider.get_backend('ibmq_qasm_simulator') # Specifying qasm simulator as the target device 

print('Provider: ',backend)
print('')

job = execute(circuit, backend, shots=1)
                               
print('Executing Job...')
print('')                   
result = job.result()
counts = result.get_counts(circuit)

print('RESULT: ',counts)
print('')
print('Press any key to close')
input()

Any problems or questions associated with this program? Contact us