Skip to content
Snippets Groups Projects
Commit 64569d4c authored by rjm432's avatar rjm432
Browse files

Baby steps

parent 9420b4aa
Branches
No related tags found
No related merge requests found
1/1_a.py 0 → 100644
import numpy
import math
from qiskit import *
from qiskit import BasicAer
#Program NNAND gate using X and CCX Gates
'''
NAND
1 | 0 0
1 | 0 1
1 | 1 0
0 | 1 1
'''
#Quantum Wire
q = QuantumRegister(3, 'q')
#Classical Wire
c = ClassicalRegister(3, 'c')
#Build the Circuit
circ = QuantumCircuit(q,c)
#Inputs
circ.x(q[0])
#circ.x(q[1])
#NAND
circ.ccx(q[0],q[1],q[2])
circ.x(q[2])
#circ.ccx(q[0],q[2],q[1])
#Measure
circ.barrier(q[0],q[1],q[2])
circ.measure(q[0], c[0])
circ.measure(q[1], c[1])
circ.measure(q[2], c[2])
#Picture Time
X = circ.draw(output="text")
print(X)
#Run an experiment
backend_sim = BasicAer.get_backend('qasm_simulator')
job_sim = execute(circ,backend_sim, shots=2048)
result_sim = job_sim.result()
counts = result_sim.get_counts()
print(counts)
1/1_b.py 0 → 100644
import numpy
import math
from qiskit import *
from qiskit import BasicAer
#Program NOR gate using X and CCX Gates
'''
NOR
1 | 0 0
0 | 0 1
0 | 1 0
0 | 1 1
''' Qu
#Quantum Wire
q = QuantumRegister(3, 'q')
#Classical Wire
c = ClassicalRegister(3, 'c')
#Build the Circuit
circ = QuantumCircuit(q,c)
#Inputs
circ.x(q[0])
#circ.x(q[1])
#Circuit
circ.barrier(q[0],q[1],q[2])
circ.x(q[0])
circ.x(q[1])
circ.ccx(q[0],q[1],q[2])
#Undo ~A ^ B
circ.x(q[0])
circ.x(q[1])
#Measure
circ.barrier(q[0],q[1],q[2])
circ.measure(q[0], c[0])
circ.measure(q[1], c[1])
circ.measure(q[2], c[2])
#Picture Time
X = circ.draw(output="text")
print(X)
#Run an experiment
backend_sim = BasicAer.get_backend('qasm_simulator')
job_sim = execute(circ,backend_sim, shots=2048)
result_sim = job_sim.result()
counts = result_sim.get_counts()
print(counts)
1/1_c.py 0 → 100644
import numpy
import math
from qiskit import *
from qiskit import BasicAer
# Program XOR using Quantum Gates
'''
XOR
0 | 0 0
1 | 0 1
1 | 1 0
0 | 1 1
'''
#Quantum Wires
q = QuantumRegister(3, 'q')
#Classical Wires
c = ClassicalRegister(3, 'c')
#Build Circuit
circ = QuantumCircuit(q,c)
#Inputs
#Circuit
#Text Representation
x=
#Test and Results
#We need to load the Libraries
import numpy
import math
from qiskit import *
from qiskit import BasicAer
#We need 5 quantum wires
q = QuantumRegister(5,'q')
#We only need 4 classical bits (3 inputs + 1 output)
c = ClassicalRegister(4,'c')
#Build the Circuit
circ = QuantumCircuit(q,c)
#We are Building
#(A v B) & (~C)
#Wires:
#q[0] = A
#q[1] = B
#q[2] = C
#q[3] = Temp Result
#q[4] = Final Result
#Lets set Values
#A=1,B=0,C=1
circ.x(q[0])
circ.x(q[2])
circ.barrier(q[0],q[1],q[2],q[3],q[4])
#A v B = ~(~A & ~B)
circ.x(q[0])
circ.x(q[1])
circ.ccx(q[0],q[1],q[3])#Res in q[3]
circ.x(q[0])#undo temp change
circ.x(q[1])#undo temp change
circ.x(q[3])#Apply not to result
#~C
circ.x(q[2])
#(A v B) & ~C
#The barrier makes it look prettier
circ.barrier(q[0],q[1],q[2],q[3],q[4])
circ.ccx(q[2],q[3],q[4])
circ.x(q[2])#Undo the not
#Measure the Bits we care about
circ.barrier(q[0],q[1],q[2],q[3],q[4])
circ.measure(q[0],c[0])
circ.measure(q[1],c[1])
circ.measure(q[2],c[2])
circ.measure(q[4],c[3])#Throw are q[3]
X=circ.draw(output="text")
print(X)
#Run an experiment!
backend_sim = BasicAer.get_backend('qasm_simulator')
job_sim = execute(circ,backend_sim,shots=2048)
result_sim = job_sim.result()
counts = result_sim.get_counts()
print(counts)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment