mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
29b32d3553
* Trying to time every solution * Proposal 2 for timing PE solutions: - Use pytest fixture along with --capture=no flag to print out the top DURATIONS slowest solution at the end of the test sessions. - Remove the print part and try ... except ... block from the test function. * Proposal 3 for timing PE solutions: Completely changed the way I was performing the tests. Instead of parametrizing the problem numbers and expected output, I will parametrize the solution file path. Steps: - Collect all the solution file paths - Convert the paths into a Python module - Call solution on the module - Assert the answer with the expected results For assertion, it was needed to convert the JSON list object to Python dictionary object which required changing the JSON file itself. * Add type hints for variables * Fix whitespace in single_qubit_measure
35 lines
1.1 KiB
Python
Executable File
35 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Build a simple bare-minimum quantum circuit that starts with a single
|
|
qubit (by default, in state 0), runs the experiment 1000 times, and
|
|
finally prints the total count of the states finally observed.
|
|
Qiskit Docs: https://qiskit.org/documentation/getting_started.html
|
|
"""
|
|
|
|
import qiskit as q
|
|
|
|
|
|
def single_qubit_measure(qubits: int, classical_bits: int) -> q.result.counts.Counts:
|
|
"""
|
|
>>> single_qubit_measure(1, 1)
|
|
{'0': 1000}
|
|
"""
|
|
# Use Aer's qasm_simulator
|
|
simulator = q.Aer.get_backend("qasm_simulator")
|
|
|
|
# Create a Quantum Circuit acting on the q register
|
|
circuit = q.QuantumCircuit(qubits, classical_bits)
|
|
|
|
# Map the quantum measurement to the classical bits
|
|
circuit.measure([0], [0])
|
|
|
|
# Execute the circuit on the qasm simulator
|
|
job = q.execute(circuit, simulator, shots=1000)
|
|
|
|
# Return the histogram data of the results of the experiment.
|
|
return job.result().get_counts(circuit)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print(f"Total count for various states are: {single_qubit_measure(1, 1)}")
|