Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -3,23 +3,30 @@ from qiskit import QuantumCircuit, transpile
|
|
| 3 |
from qiskit_aer import Aer
|
| 4 |
from qiskit.visualization import plot_histogram
|
| 5 |
import matplotlib.pyplot as plt
|
|
|
|
| 6 |
|
| 7 |
-
def apply_cnot(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
qc = QuantumCircuit(2, 2)
|
| 9 |
qc.initialize(initial_state, [0, 1])
|
| 10 |
qc.cx(0, 1)
|
| 11 |
qc.measure([0, 1], [0, 1])
|
| 12 |
|
|
|
|
| 13 |
simulator = Aer.get_backend('qasm_simulator')
|
| 14 |
transpiled_circuit = transpile(qc, simulator)
|
| 15 |
result = simulator.run(transpiled_circuit, shots=1024).result()
|
| 16 |
counts = result.get_counts()
|
| 17 |
|
| 18 |
-
#
|
| 19 |
fig, ax = plt.subplots()
|
| 20 |
plot_histogram(counts, ax=ax)
|
| 21 |
return fig
|
| 22 |
|
|
|
|
| 23 |
interface = gr.Interface(
|
| 24 |
fn=apply_cnot,
|
| 25 |
inputs=gr.Radio(["[1,0,0,0]", "[0,1,0,0]", "[0,0,1,0]", "[0,0,0,1]"], label="Initial State"),
|
|
|
|
| 3 |
from qiskit_aer import Aer
|
| 4 |
from qiskit.visualization import plot_histogram
|
| 5 |
import matplotlib.pyplot as plt
|
| 6 |
+
import ast
|
| 7 |
|
| 8 |
+
def apply_cnot(initial_state_str):
|
| 9 |
+
# Convert input string to actual Python list
|
| 10 |
+
initial_state = ast.literal_eval(initial_state_str)
|
| 11 |
+
|
| 12 |
+
# Create Quantum Circuit
|
| 13 |
qc = QuantumCircuit(2, 2)
|
| 14 |
qc.initialize(initial_state, [0, 1])
|
| 15 |
qc.cx(0, 1)
|
| 16 |
qc.measure([0, 1], [0, 1])
|
| 17 |
|
| 18 |
+
# Simulation
|
| 19 |
simulator = Aer.get_backend('qasm_simulator')
|
| 20 |
transpiled_circuit = transpile(qc, simulator)
|
| 21 |
result = simulator.run(transpiled_circuit, shots=1024).result()
|
| 22 |
counts = result.get_counts()
|
| 23 |
|
| 24 |
+
# Plot results
|
| 25 |
fig, ax = plt.subplots()
|
| 26 |
plot_histogram(counts, ax=ax)
|
| 27 |
return fig
|
| 28 |
|
| 29 |
+
# Gradio Interface
|
| 30 |
interface = gr.Interface(
|
| 31 |
fn=apply_cnot,
|
| 32 |
inputs=gr.Radio(["[1,0,0,0]", "[0,1,0,0]", "[0,0,1,0]", "[0,0,0,1]"], label="Initial State"),
|