Analyse
Nous allons maintenant analyser l'algorithme de Grover pour comprendre son fonctionnement. Nous commencerons par ce qu'on pourrait appeler une analyse symbolique, où nous calculons comment l'opération de Grover agit sur certains états, puis nous relierons cette analyse symbolique à une représentation géométrique qui aide à visualiser le fonctionnement de l'algorithme.
Solutions et non-solutions
Commençons par définir deux ensembles de chaînes.
L'ensemble contient toutes les solutions à notre problème de recherche, tandis que contient les chaînes qui ne sont pas des solutions (qu'on peut appeler non-solutions quand c'est pratique). Ces deux ensembles vérifient et c'est-à-dire qu'il s'agit d'une bipartition de
Ensuite, nous allons définir deux vecteurs unitaires représentant des superpositions uniformes sur les ensembles de solutions et de non-solutions.
Formellement, chacun de ces vecteurs n'est défini que lorsque l'ensemble correspondant est non vide, mais nous allons désormais nous concentrer sur le cas où ni ni n'est vide. Les cas et se traitent facilement séparément, et nous le ferons plus tard.
En passant, la notation utilisée ici est courante : chaque fois que nous avons un ensemble fini et non vide on peut écrire pour désigner le vecteur d'état quantique uniforme sur les éléments de
Définissons également comme l'état quantique uniforme sur toutes les chaînes de bits :
Remarque :