QuantumKatas icon indicating copy to clipboard operation
QuantumKatas copied to clipboard

Improve Simon's algorithm kata

Open tcNickolas opened this issue 5 years ago • 1 comments

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 Tasksfiles.
  • [ ] 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!

tcNickolas avatar Jul 01 '19 18:07 tcNickolas

Pull request #327 took the second approach, using a companion Python notebook to cover classical parts of the algorithm.

tcNickolas avatar Apr 19 '20 18:04 tcNickolas