This device is not compatible.
PROJECT
Quantum Random Walk
Create a quantum circuit on Qiskit to explore quantum randomness. We’ll learn to simulate a random walk for a cyclic graph using a quantum random number. We’ll also learn to generate a classical number walk with pseudorandom numbers via classical computing. Finally, we’ll compare each random walk strategy.
You will learn to:
Create and simulate a quantum circuit using Qiskit
Visualize the results of quantum simulation using dedicated packages
Construct a unitary operator to perform a custom quantum operation
Analyze the performance of classical and quantum simulations
Skills
Plotting
Data Visualization
Quantum Computing
Prerequisites
Familiarity with Python
Understanding of the basic concepts of linear algebra
Beginner-level understanding of quantum computing
Technologies
NumPy
Qiskit
Matplotlib
Project Description
Quantum computing is a new technological field that uses quantum phenomena to perform computations. This non-conventional approach to computation has its advantages over classical technology—a phenomenon known as quantum supremacy. While efforts are underway to create a general-purpose quantum computer, current quantum technologies are already finding applications in cybersecurity, finance, and communication.
Quantum superposition is one of the phenomena at the heart of quantum weirdness, because it allows an object to exist in multiple states simultaneously. However, when we observe such an object, it loses its superposition and becomes a classical object, its classical state being determined by the probability distribution of its quantum state. Due to this random collapse to its classical state, quantum superposition can be employed to generate truly random numbers, a feat unachieved by classical computing.
In this project, we’ll use random numbers generated by a quantum simulator to simulate a random walk and compare its results with those obtained by classical random numbers.
Project Tasks
1
Building Blocks of Quantum Random Walk
Task 0: Introduction
Task 1: Import Libraries
Task 2: Create a Quantum Circuit
Task 3: Apply the Hadamard Gate
Task 4: Create a Unitary Operator
Task 5: Apply Measurement Gate
Task 6: Simulate the Circuit
2
Quantum Random Walk
Task 7: Create the Unitary Operator for the Walk
Task 8: Create a Single-step Quantum Random Walk
Task 9: Extract the Walker's Information from Simulation Results
Task 10: Extract the Walker's Statevector from Simulation Results
Task 11: Create the quantum_step() Function
Task 12: Create the quantum_random_walk() Function
Task 13: Test Run
Task 14: Visualize the Quantum Random Walk
3
Classical Random Walk
Task 15: Create the classical_step() Function
Task 16: Create the classical_random_walk() Function
Task 17: Test Run
4
Comparison of Classical and Quantum Walker
Task 18: Analyze the Classical Random Walk
Task 19: Analyze the Quantum Random Walk
Congratulations!