stevafernandes commited on
Commit
c5b8c8c
·
verified ·
1 Parent(s): 1f34bd1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -2
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(initial_state):
 
 
 
 
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
- # Plotting results
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"),