Skip to content

Commit eaf3e9f

Browse files
abhishekjiitrgithub-actionscclauss
authored andcommitted
Add First Quantum Qiskit Code Tutorial (TheAlgorithms#3173)
* Add First Quantum Qiskit Code Tutorial * Add Qiskit Requirement * Address Review Comments * fixup! Format Python code with psf/black push * Update q1.py * updating DIRECTORY.md * Update and rename q1.py to single_qubit_measure.py * updating DIRECTORY.md Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Christian Clauss <[email protected]>
1 parent 634842e commit eaf3e9f

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

Diff for: DIRECTORY.md

+3
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,9 @@
681681
* [Sol1](https://github.com/TheAlgorithms/Python/blob/master/project_euler/problem_99/sol1.py)
682682
* [Validate Solutions](https://github.com/TheAlgorithms/Python/blob/master/project_euler/validate_solutions.py)
683683

684+
## Quantum
685+
* [Single Qubit Measure](https://github.com/TheAlgorithms/Python/blob/master/quantum/single_qubit_measure.py)
686+
684687
## Scheduling
685688
* [First Come First Served](https://github.com/TheAlgorithms/Python/blob/master/scheduling/first_come_first_served.py)
686689
* [Round Robin](https://github.com/TheAlgorithms/Python/blob/master/scheduling/round_robin.py)

Diff for: quantum/single_qubit_measure.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/usr/bin/env python3
2+
"""
3+
Build a simple bare-minimum quantum circuit that starts with a single
4+
qubit (by default, in state 0), runs the experiment 1000 times, and
5+
finally prints the total count of the states finally observed.
6+
Qiskit Docs: https://qiskit.org/documentation/getting_started.html
7+
"""
8+
9+
import qiskit as q
10+
11+
12+
def single_qubit_measure(qubits: int, classical_bits: int) -> q.result.counts.Counts:
13+
"""
14+
>>> single_qubit_measure(1, 1)
15+
{'0': 1000}
16+
"""
17+
# Use Aer's qasm_simulator
18+
simulator = q.Aer.get_backend("qasm_simulator")
19+
20+
# Create a Quantum Circuit acting on the q register
21+
circuit = q.QuantumCircuit(qubits, classical_bits)
22+
23+
# Map the quantum measurement to the classical bits
24+
circuit.measure([0], [0])
25+
26+
# Execute the circuit on the qasm simulator
27+
job = q.execute(circuit, simulator, shots=1000)
28+
29+
# Return the histogram data of the results of the experiment.
30+
return job.result().get_counts(circuit)
31+
32+
33+
if __name__ == "__main__":
34+
print(f"Total count for various states are: {single_qubit_measure(1, 1)}")

Diff for: requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ numpy
77
opencv-python
88
pandas
99
pillow
10+
qiskit
1011
requests
1112
scikit-fuzzy
1213
sklearn

0 commit comments

Comments
 (0)