Como vimos en el artículo anterior, la Inverse Number Theoretic Transform (INTT) se realiza utilizando una matriz de Vandermonde, al igual que la NTT. Esto demuestra que tanto la evaluación a través de la NTT como la interpolación a través de la INTT son operaciones similares.
El problema de usar directamente la matriz de Vandermonde para la evaluación o interpolación es que multiplicar una matriz por un vector toma un tiempo . Afortunadamente, al usar las -ésimas raíces de la unidad, con siendo una potencia de 2, se puede usar un método rápido que no depende de la multiplicación de matrices, reduciendo la complejidad temporal a .
El método rápido para la NTT se introdujo en el capítulo “NTT Algorithm by Hand.” En este capítulo, estudiaremos el método rápido para la INTT.
La idea es simple: interpretar la interpolación polinómica como una evaluación, permitiendo el uso del mismo método empleado para la NTT.
Evaluación e interpolación
Como repaso, la NTT nos permite transformar un polinomio de grado como máximo desde su forma de coeficientes,
a su forma de punto-valor,
evaluando el polinomio en las -ésimas raíces de la unidad. A esto se le llama evaluación.
La interpolación es lo opuesto a la evaluación: es el proceso de transformar un polinomio desde su forma de punto-valor a su forma de coeficientes.
La interpolación como evaluación
Las evaluaciones e interpolaciones en las -ésimas raíces de la unidad son operaciones similares porque ambas se realizan utilizando una matriz de Vandermonde.
Para una mejor visualización, consideremos un polinomio de grado como máximo 3,
evaluado en las -tas raíces de la unidad
La evaluación se puede escribir como
La interpolación se puede escribir como
Inspirados en la estructura de evaluación, podemos ver y como los coeficientes de un nuevo polinomio , definido como
En estos términos, los coeficientes y son las evaluaciones de en los siguientes puntos:
Por lo tanto, podemos interpretar la interpolación como la evaluación de otro polinomio. La observación crucial es que la NTT inversa (INTT) no requiere un algoritmo fundamentalmente distinto.
Una vez que la representación de punto-valor se reinterpreta como el vector de coeficientes de un nuevo polinomio, la interpolación se convierte en una evaluación en un conjunto permutado de raíces de la unidad. En este sentido, la evaluación y la interpolación son la misma operación.
Evitando trabajar con las inversas de las raíces de la unidad
Como se muestra en la transformación
la interpolación implica evaluaciones en las inversas de las raíces de la unidad. Sin embargo, podemos evitar trabajar con inversas.
Consideremos . Entre las -tas raíces de la unidad, es el elemento que, al multiplicarse por , da como resultado 1. Dado que
tenemos que .
De manera similar,
Por lo tanto, los coeficientes y son las evaluaciones de
en los siguientes puntos:
Utilizando el hecho de que , podemos reescribir esto como
Realizando la INTT a mano
Un polinomio de grado como máximo , donde es una potencia de 2, puede evaluarse en las -ésimas raíces de la unidad usando el método rápido explicado en el capítulo NTT Algorithm by Hand.
Las evaluaciones de
en los puntos y se ilustran a continuación.
La idea es agrupar las potencias pares e impares como
y evaluar en . En cada evaluación de una raíz cuadrada interna, la expresión se ramifica en dos, una por cada valor de la raíz cuadrada. Esto continúa hasta que no queden raíces cuadradas, punto en el cual el procedimiento termina.

Obtenemos
Confirmemos que esto coincide con el resultado obtenido de la matriz de Vandermonde:
Usando
lo reescribimos como
Esto nos lleva a
que son las mismas expresiones obtenidas por el algoritmo rápido.
La diferencia clave es que el algoritmo rápido se ejecuta en tiempo , mientras que la multiplicación directa de matrices toma un tiempo .
Polinomios de grado
Lo que hicimos en la sección anterior para un polinomio de grado puede extenderse a polinomios de cualquier grado.
Supongamos que tenemos un polinomio evaluado en las -ésimas raíces de la unidad, donde es una potencia de :
Para recuperar los coeficientes del polinomio , de grado como máximo , que pasa por estos puntos, definimos un nuevo polinomio como
Los coeficientes de están dados entonces por
Este artículo es parte de una serie sobre la Number Theoretic Transform en nuestro ZK Book