Skip to content

Commit 831280c

Browse files
Alanzzpre-commit-ci[bot]cclauss
authored
Add quantum_random.py (TheAlgorithms#7446)
* Create quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update quantum/quantum_random.py Co-authored-by: Christian Clauss <[email protected]> * Update quantum/quantum_random.py Co-authored-by: Christian Clauss <[email protected]> * Update quantum/quantum_random.py Co-authored-by: Christian Clauss <[email protected]> * Update quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * requirements.txt: Add projectq * Update quantum_random.py * Update quantum/quantum_random.py Co-authored-by: Christian Clauss <[email protected]> * Update quantum_random.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update quantum_random.py * Update quantum_random.py * Update quantum/quantum_random.py * Update quantum/quantum_random.py * Update quantum_random.py Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Christian Clauss <[email protected]>
1 parent 4829fea commit 831280c

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

quantum/quantum_random.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import doctest
2+
3+
import projectq
4+
from projectq.ops import H, Measure
5+
6+
7+
def get_random_number(quantum_engine: projectq.cengines._main.MainEngine) -> int:
8+
"""
9+
>>> isinstance(get_random_number(projectq.MainEngine()), int)
10+
True
11+
"""
12+
qubit = quantum_engine.allocate_qubit()
13+
H | qubit
14+
Measure | qubit
15+
return int(qubit)
16+
17+
18+
if __name__ == "__main__":
19+
doctest.testmod()
20+
21+
# initialises a new quantum backend
22+
quantum_engine = projectq.MainEngine()
23+
24+
# Generate a list of 10 random numbers
25+
random_numbers_list = [get_random_number(quantum_engine) for _ in range(10)]
26+
27+
# Flushes the quantum engine from memory
28+
quantum_engine.flush()
29+
30+
print("Random numbers", random_numbers_list)

requirements.txt

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

0 commit comments

Comments
 (0)