Assignment 1 and 2
Assignment 1 and 2
Question no 2 :
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
def bell_circuit(state):
qc = QuantumCircuit(2, 2)
qc.h(0) # Hadamard on qubit 0
qc.cx(0, 1) # CNOT (0 -> 1)
if state == "|Φ−⟩":
qc.z(0)
elif state == "|Ψ+⟩":
qc.x(1)
elif state == "|Ψ−⟩":
qc.x(1)
qc.z(0)
qc.measure([0, 1], [0, 1]) # Measurement
return qc
Question no 3 :
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram, visualize_transition
from qiskit.quantum_info import Statevector
qc = QuantumCircuit(3, 2)
qc.h(1)
qc.cx(1, 2)
qc.cx(0, 1)
qc.h(0)
qc.measure([0, 1], [0, 1])
print(" Results:")
display(qc.draw('mpl'))
plot_histogram(counts).show()
Question no 4 :
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
def superdense_coding(message):
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
if information == "10":
qc.z(1)
elif information == "01":
qc.x(1)
elif information == "11":
qc.x(1)
qc.z(1)
qc.cx(0, 1)
qc.h(0)
qc = QuantumCircuit(4, 4)
qc.h(0)
qc.cx(0, 1)
qc.cx(1, 2)
qc.cx(2, 3)
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1024).result()
counts = result.get_counts()
Question no 1 :
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
qc.h([0, 1, 2, 3])
qc.x(4)
qc.h(4)
parity_oracle(qc)
qc.h([0, 1, 2, 3])
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1024).result()
counts = result.get_counts()
print(“Results:")
display(qc.draw('mpl'))
plot_histogram(counts).show()
QUESTION NO 3 :
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
s = "1011"
n = len(s)
def bv_oracle(qc):
for i, bit in enumerate(reversed(s)):
little-endian order
if bit == "1":
qc.cx(i, n)
qc = QuantumCircuit(n + 1, n)
qc.h(range(n))
qc.x(n)
qc.h(n)
bv_oracle(qc)
qc.h(range(n))
qc.measure(range(n), range(n))
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1024).result()
counts = result.get_counts()
print(“Results:")
display(qc.draw('mpl'))
plot_histogram(counts).show()