Hi Alessandra!
Anyway... my problem is (and it might be an easy one) how to find the primitive n-th root of unity in a finite field?
I guess here, and below, you mean *a* primitive root. In the complex plane, there's a standard choice (thanks to the exponential map) but in general there is not.
All I have at the moment is a way to find the primitive n-th root of unity for the cases when n = p^m - 1 where p is a prime and m > 1. For this I use the PrimitiveRoot(GF(p^m)) which returns the primitive root of the finite field GF(p^m).
But this is quite general! to find a primitive n-th root of unity, you find m such that p^m-1 is divisible by n; and you take PrimitiveRoot(GF(p^m))^((p^m-1)/n). In GAP code: primroot := function(q,n) # returns a n-th primitive root in GF(q) local m; m := First([1..1000],m->RemInt(q^m,n)=1); return PrimitiveRoot(GF(q^m))^((q^m-1)/n); end; best, L -- Laurent Bartholdi \ laurent.bartholdi<at>gmail<dot>com EPFL SB SMA IMB MAD \ Téléphone: +41 21-6935458 Station 8 \ Secrétaire: +41 21-6935471 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 _______________________________________________ Forum mailing list [email protected] http://mail.gap-system.org/mailman/listinfo/forum
