En el capítulo anterior sobre la Inverse Number Theoretic Transform, afirmamos que la inversa de la matriz de Vandermonde para una raíz -ésima primitiva de la unidad también es una matriz de Vandermonde, dada por . Ahora demostraremos este hecho.
Los lectores con menos inclinación matemática pueden saltarse este capítulo sin perderse de nada. No es necesario entender la INTT, siempre y cuando acepten que la matriz inversa que proponemos es válida.
La matriz de Vandermonde se define como una matriz donde cada fila es una progresión geométrica.
- La primera fila es la progresión geométrica de desde hasta .
- La segunda fila es la progresión geométrica de desde hasta .
- Esto continúa hasta la última fila, que es la progresión geométrica de desde hasta .
Por lo tanto, cada entrada en la fila y la columna de está dada por
Consideremos un polinomio de grado a lo sumo , dado por
Sea el conjunto que consiste en las raíces -ésimas de la unidad generadas por una raíz -ésima primitiva:
El vector de evaluaciones de en el conjunto ,
se puede obtener multiplicando el vector de coeficientes por :
\mathbf{y}= V(\omega) \cdot \mathbf{a}\
donde son los coeficientes del polinomio .
Cada fila en el lado izquierdo es el producto interno de la -ésima fila de la matriz de Vandermonde y el vector . Por ejemplo, el -ésimo elemento es
Por lo tanto, las evaluaciones se pueden escribir como
para .
Nota sobre los índices: En la ecuación anterior, tenemos dos índices. El índice indica de qué evaluación estamos tratando, y puede tomar los valores . Esto significa que la fórmula anterior no representa solo una ecuación, sino ecuaciones, una para cada valor de . Por ejemplo, la notación anterior es una forma abreviada de
El índice en y es un índice de suma y, por lo tanto, es “consumido” por la suma. Debido a que es consumido por la suma, no aparece en el lado izquierdo de la ecuación. La elección de los índices y es arbitraria; podríamos haber usado o cualquier otra letra. En general, para los índices de vectores, es común usar letras del medio del alfabeto.
Ahora queremos encontrar la relación inversa para obtener el vector a partir del vector . En otras palabras, queremos calcular , donde es la inversa de .
Nuestra afirmación es que la inversa de la matriz de Vandermonde también es una matriz de Vandermonde, dada por .
Para ser completamente claros, nuestra afirmación es que
donde es una raíz -ésima primitiva de la unidad.
Si la afirmación es correcta, el vector se puede calcular de la siguiente manera:
La componente es el producto interno entre la -ésima fila de y el vector :
Esta operación se puede escribir como la siguiente suma:
para .
Por razones pedagógicas, demostraremos nuestra afirmación (que la inversa de la matriz de Vandermonde es otra matriz de Vandermonde, dada por ) de dos maneras diferentes.
Primero, mostraremos que la multiplicación de matrices de y da como resultado la matriz identidad , es decir,
Luego, mostraremos que si primero multiplicamos por para obtener , y después multiplicamos por , recuperamos .
Estas dos pruebas son esencialmente la misma, solo que expresadas de dos maneras diferentes.
Prueba de que
Demostraremos que la multiplicación de matrices de con da como resultado la matriz identidad.
La prueba se basa en la propiedad de ortogonalidad de las raíces de la unidad, la cual se expresa como una sumatoria. Por lo tanto, primero escribiremos la multiplicación de matrices en forma de sumatoria para poder usar esta propiedad de ortogonalidad.
La multiplicación en notación de índices
Recordemos que la entrada de la matriz de en la fila y la columna está dada por
Nota: La numeración de filas y columnas aquí se considera desde , no desde .
Por ejemplo, la entrada en la fila y la columna de es como se resalta a continuación en rojo:
Además, la entrada de la matriz de en la fila y la columna está dada por
Por ejemplo, la entrada en la fila y la columna de es , como se resalta a continuación:
Por lo tanto, cuando las dos matrices y se multiplican, el elemento resultante en la fila y la columna se obtiene multiplicando la fila de (rojo) con la columna de (azul):
Cada entrada de la matriz , que denotamos por , está entonces dada por
Ahora necesitamos mostrar que las entradas son iguales a las de la matriz identidad. Para hacer esto, usamos la ortogonalidad de las raíces de la unidad.
Recordatorio: Ortogonalidad de las raíces de la unidad
En el capítulo sobre la ortogonalidad de las raíces de la unidad, mostramos que
Para recapitular, la fórmula anterior nos da el resultado de la sumatoria en dos casos: (1) cuando y (2) cuando . Usaremos ambos casos a continuación.
Caso 1: Cuando
Queremos calcular
cuando . La ortogonalidad de las raíces de la unidad dice que, cuando ,
Usando este resultado para , tenemos que
Por lo tanto, para los términos de la diagonal (como ), tenemos
Caso 2: Cuando
Ahora queremos calcular
cuando . La ortogonalidad de las raíces de la unidad dice que, cuando ,
Usando este resultado para , tenemos
Por lo tanto, para cualquier término fuera de la diagonal (como , tenemos .
La matriz
Teniendo en cuenta los casos (1) y (2) anteriores, tenemos que la matriz es
que es exactamente la matriz identidad . Por lo tanto, las matrices y son inversas la una de la otra, porque
La multiplicación de matrices de con el vector devuelve el vector
Otra manera de demostrar que es la inversa de es mostrar que invierte a esta última.
Es decir, si primero aplicamos a para obtener ,
y luego aplicamos a , recuperamos :
Eso es exactamente lo que mostraremos.
La primera transformación lleva el vector de coeficientes al vector de evaluaciones mediante la siguiente operación matricial:
Como ya hemos visto, esta operación matricial se puede escribir usando índices:
Ahora realizamos una segunda transformación sobre el vector , lo que da como resultado un vector :
Si podemos demostrar que , entonces la segunda transformación es la inversa de la primera.
La operación matricial anterior se puede escribir en forma de índices como
Ahora sustituimos la expresión de . Recordemos que
donde es simplemente un índice que podemos reemplazar por , o cualquier otra letra. Por lo tanto, al reemplazar en el resultado para , tenemos
Reescribiendo como una doble suma:
El término entre paréntesis es exactamente la relación de ortogonalidad:
Para continuar la prueba, podríamos estudiar el caso (1), donde , y el caso (2), donde , pero procederemos de manera diferente. Introduciremos un símbolo llamado la delta de Kronecker.
La delta de Kronecker, , es un símbolo con 2 índices, y en este caso, que es cuando y de lo contrario:
La delta de Kronecker se puede entender como las entradas de la matriz identidad.
Usando la delta de Kronecker, podemos escribir la propiedad de ortogonalidad como
Al usar la delta de Kronecker en la expresión de , tenemos
Desarrollando la sumatoria, la expresión anterior se puede escribir como
Por la propiedad de la delta de Kronecker, solo un término en la sumatoria es distinto de cero. Por ejemplo, para , solo es distinto de cero. Por lo tanto, tenemos
Esto es válido para cualquier , por lo tanto tenemos que
para cualquier .
Esto demuestra que la transformación es la inversa de la transformación .
Este artículo es parte de una serie sobre la Number Theoretic Transform en nuestro ZK Book