代做Module 5: Using a Noisy Quantum Computers代写Python编程
- 首页 >> Database作业Module 5: Using a Noisy Quantum Computers
I. INTRODUCTION
In this multi-module software lab, you will write a neutral atom qubit simulator, find one- and two-qubit gates, and then use that simulator as a backend to run quantum computing experiments. Along the way, we will use Python libraries, including QuTiP, Numpy, Scipy, Matplotlib, and Qiskit, among others, and will explore topics in atomic-molecular-optical (AMO) physics, computational physics, and quantum information. For this module, you should turn in an executable jupyter notebook and a PDF report.
II. NOISY QUANTUM COMPUTERS
In the previous four modules, you should have developed and benchmarked a simulator of a noisy quantum computer, capable of being used within Qiskit. By apply the methods of QCVV, we checked that the simulator worked as expected – this is the same set of tests that would be applied to a real quantum computer to check that it is working. Now, with the confidence provided by QCVV, we can now use this (simulated) noisy quantum computer to perform. a task.
This module is much more open-ended than the previous ones. Rather than a specific set of exercises, you will instead right a brief (2-4 pages with graphs, similar to a scientific publication) report, detailing the quantum simulator, proving that it works, and then using it to perform. a quantum algorithm, or the like. Results from previous modules, like the RB results, should be used here. Because the simulator is probably a bit slow, I would recommend only using a handful of qubits (two or three?) for the demonstration. You should compare the results of the noisy quantum computer to the real quantum computer and, using all the knowledge developed in the previous modules, to analyze the performance and discuss future possibilities for real devices.
For the specific task, a good place to find inspiration would be Qiskit tutorials. For exam-ple, a reasonable task would be to simulate the variational quantum eigensolver to find the ground state of a small molecule (see https://qiskit-community.github.io/qiskit-nature/tutorials/03_ground_state_solvers.html), or maybe one of the other Qiskit nature tutori-als (https://qiskit-community.github.io/qiskit-nature/tutorials/index.html). Another possible task would be quantum kernel learning (see https://qiskit-community.github.io/qiskit-machine-learning/tutorials/03_quantum_kernel.html) or another Qiskit machine learning tutorial (https://qiskit-community.github.io/qiskit-machine-learning/tutorials/index.html). Other possibilities include tutorials within Qiskit Finance (https://qiskit-community.github.io/qiskit-finance/tutorials/index.html) or Qiskit Optimization (https://qiskit-community.github.io/qiskit-optimization/tutorials/index.html). Or, you could look at error mitiga-tion techniques within mitiq (see https://mitiq.readthedocs.io/en/stable/examples/ibmq-backends. html). The idea is not to write a new application, but to compare the results on the neutral atom simulator to either a noise-free implementation, or perhaps a different noisy backend. With the previous development, you should be able to simply change the backend and transpile the circuit appropriately and run these examples.