Assume that we have a data set $y_0, y_1, \dots, y_{k-1}$. For calculating the corresponding polynomial in evaluation form, we assume that $f(w^i)=y_i$ for every $i\in 0,\dots, k-1$.

The polynomial obtained after this process can be expressed in the coefficent form by converting $f$from evaluation form to coefficient form:

$f(x)=a_0+a_1x+a_2x^2+\cdots+a_kx^k$

Now we can represent this polynomial as an array such that $[a_0,a_1,a_2,\dots,a_k]$.

We want to extend this data set with expansion factor 2. In that case, we want to evaluate this polynomial in the root of unity from $k$ to $2k=n$ i.e from $w^{k}, w^{k+1},\dots, w^n$

To calculate these evaluation, we can use fft algorithm. This algorithm takes polynomial (in coefficient form), modulus and roots of unity sets and return $[f(w^0),f(w^1), f(w^2),\dots,f(w^n)]$.

This is our extended data set, we can represent this one as $y_0,y_1,y_2,\dots,y_n$.

If we have enough tuple $(x_i,y_i)$ where $f(x_i)=y_i$ (at least k of them), we can regenerate $f$ polynomial (in coefficient form) using polynomial_interpolation .

For our protocol, the values specified here as $x_i$ can be expressed as $w^i$, and the values $y_i$ can be represented as data.

Hence, by converting $f$ from coefficient form to evaluation form, we can obtain the original data $[y_0,y_1,\dots,y_k]$.