Learning by doing: the best way to understand the basics of quantum computation is to in implement a quantum circuit simulator. This task is suitable both for people from computer sciences who want to learn about quantum computing, and for people from math/physics who want to exercise coding.
Detailed description of the task with some learning resources and examples can be found in this jupyter notebook
It is expected that simulator can perform following:
- initialize state
- read program, and for each gate:
- calculate matrix operator
- apply operator (modify state)
- perform multi-shot measurement of all qubits using weighted random technique