Rational coefficients of the prime roots of unity (basis set in $\mathbb{Q}$).

155 Views Asked by At

It is well known that the set of prime roots of unity $S = \{\zeta, \zeta^2, \zeta^3, ..., \zeta^{p-1}\}$ form a basis in $\mathbb{Q}$ (where $\zeta = e^{\frac {i2\pi}{p}}$, $p \in \mathbb{N}, p $ is prime) i.e., $$X = a_1\zeta + a_2\zeta^2 + ... + a_{p-1}\zeta^{p-1} $$ is unique for $a_i \in \mathbb{Q}$.

I want to ask the following:

Given $X \in \mathbb{Q}[\zeta]$, is it possible to find the $a_i$ $(\in \mathbb{Q})$, such that $$X = a_1\zeta + a_2\zeta^2 + ... + a_{p-1}\zeta^{p-1} $$

1

There are 1 best solutions below

1
On BEST ANSWER

As the comments explain, there is no "exact" way to do this. However, using the LLL algorithm, one can certainly "guess" what the answer may be, and then (in your particular context) check the answer. Here is a short pari program which, for a given prime $N$, first chooses a "random" vector $[a_i]$ of length $N-1$ with integer entries between $1$ and $1000$, and then $X$ is the sum $\sum_{i=1}^{N-1} a_i \zeta^i$. Then it looks for a linear relationship with small coefficients between the powers $X$ from $0$ to $N-1$.

To "check" the answer, it checks whether the number field defined by this polynomial embeds into the appropriate cyclotomic field. It then lists the random vector it started with and the "guesses" produced by the program (since it doesn't differentiate between the conjugates of $X$ it will give the conjugates as well). It is written in pari/gp (apologies for the hackiness)

\p  1000;
N=5;
z=exp(2*Pi*I/N);
R=vector(N-1,k,random(1000));
X=sum(k=1,N-1,R[k]*z^k);
V=vector(N,k,X^(k-1));
L=lindep(V);
nf=nfinit(sum(k=0,N-1,L[k+1]*t^k));
nfc=nfinit(polcyclo(N,t));
Y=nfisincl(nf,nfc);
Z=t*lift(Mod(Y/t,polcyclo(N,t)));
R
Z

a random example output:

%11 = [726, 983, 378, 318]
? Z
%12 = [983*t^4 + 318*t^3 + 726*t^2 + 378*t, 318*t^4 + 378*t^3 + 983*t^2 + 726*t, 726*t^4 + 983*t^3 + 378*t^2 + 318*t, 378*t^4 + 726*t^3 + 318*t^2 + 983*t]
?