QuantumKatas
QuantumKatas copied to clipboard
Improve Simon's algorithm kata
Simon's algorithm kata differs from the others in that Simon's algorithm has non-trivial classical processing involved, but the tasks of the kata cover only the (relatively simple) quantum part of the algorithm. This makes it less useful than it could be.
If we want to keep it as a C# project, there will be several steps to improving it:
- [ ] Add C# tasks to cover classical processing in Simon's algorithm.
They can be part of the same Q# project, it will just have several
Tasks
files. - [ ] Convert Q# tasks to Q# Notebook.
This includes investigating whether
%kata
magic command can invoke C# tests with the updated Q# code. - [ ] Convert C# tasks to C# Notebook. There are several implementations of C# kernel for Jupyter, we need to pick one and use it.
It also could be that the best way to improve this kata is to convert it into Python.
I won't get to this in the next several months; if anybody is interested in picking this up, please let me know!
Pull request #327 took the second approach, using a companion Python notebook to cover classical parts of the algorithm.