QuantumKatas/SimonsAlgorithm
Scott Carda b856585f32
Update to QDK version 0.27.258160 (#876)
2023-03-01 17:11:58 -08:00
..
.vscode Add DevSkim scanning and resolve initial alerts (#778) 2022-04-22 16:47:21 -07:00
BooleanMatrix.cs Covered issues mentioned in #498 (#501) 2020-10-06 13:23:49 +02:00
GaussianElimination.cs Simon's Algorithm Kata 2018-09-25 21:32:30 -07:00
Instances.json Simon's Algorithm Kata 2018-09-25 21:32:30 -07:00
README.md Update links to John Watrous's lecture notes (#585) 2021-01-04 00:05:27 -08:00
ReferenceImplementation.qs Remove parenthesis around the condition in the if block (p2) (#853) 2022-11-22 23:51:15 -08:00
SimonsAlgorithm.csproj Update to QDK version 0.27.258160 (#876) 2023-03-01 17:11:58 -08:00
SimonsAlgorithm.sln Replace project references with package references (#469) 2020-08-27 14:41:09 -07:00
Tasks.qs Updates to new array creation syntax, part 3 (#762) 2022-03-14 10:31:37 -07:00
Tests.cs [SimonsAlgorithm] Switch the kata to use common CounterSimulator (#369) 2020-06-11 22:47:41 -07:00
Tests.qs Updates to new array creation syntax, part 3 (#762) 2022-03-14 10:31:37 -07:00

README.md

Welcome!

This kata covers Simon's algorithm. This algorithm solves Simon's problem - an oracle problem of finding a hidden bit vector. This problem is an example of an oracle problem that can be solved exponentially faster by a quantum algorithm than any known classical algorithm.

Simon's algorithm consists of two parts - a quantum circuit and a classical post-processing routine which calls the quantum circuit repeatedly and extracts the answer from the results of the runs. In this kata we focus on implementing the oracles to encode the Simon's problem and the quantum part of the algorithm; the classical part has already been implemented for you.

Simons algorithm