Análisis
Ahora analizamos el algoritmo de Grover para entender cómo funciona. Comenzamos con lo que podría describirse como un análisis simbólico, en el que calculamos cómo la operación de Grover actúa sobre ciertos estados, y luego conectamos este análisis simbólico con una imagen geométrica que ayuda a visualizar el funcionamiento del algoritmo.
Soluciones y no soluciones
Comencemos definiendo dos conjuntos de cadenas.
El conjunto contiene todas las soluciones de nuestro problema de búsqueda, mientras que contiene las cadenas que no son soluciones (a las que nos referiremos como no soluciones cuando sea conveniente). Estos dos conjuntos satisfacen y , es decir, esto es una bipartición de .
A continuación, definimos dos vectores unitarios que representan superposiciones uniformes sobre los conjuntos de soluciones y no soluciones.
Formalmente, cada uno de estos vectores solo está definido si el conjunto correspondiente no está vacío, pero a continuación nos enfocamos en el caso en que ni ni están vacíos. Los casos y pueden tratarse fácilmente por separado, lo cual haremos más adelante.
Como nota al margen: la notación utilizada aquí es común — siempre que tenemos un conjunto finito y no vacío , podemos escribir para denotar el vector de estado cuántico distribuido uniformemente sobre los elementos de .
Definamos además como el estado cuántico uniforme sobre todas las cadenas de bits:
Observa que
También tenemos que