The best way to solve your problem is in two steps.

First we use the fact that GF(p^r) is a vector space over GF(p) to express elements of GF(p^r) as vectors over GF(p) (losing the multiplicative structure in the process). We do this by taking basis and then using the Coefficients operation.

gap> f := GF(3,2);
GF(3^2)
gap> cb := CanonicalBasis(f);
CanonicalBasis( GF(3^2) )
gap> Coefficients(cb,Z(9)^2);
[ Z(3)^0, Z(3)^0 ]

Now we use the function IntFFE to see the equivalent elements of Z mod pZ.
gap> List(last, IntFFE);
[ 1, 1 ]
gap>

if you want to know which basis GAP is using here, you can do:

gap> BasisVectors(cb);
[ Z(3)^0, Z(3^2) ]

You can convert back using the inner product of vectors:

gap> [2,1]*last;
Z(3^2)^7


I hope this is what you were looking for

        Steve Linton

On 27 Aug 2009, at 10:22, Nasira Sindhu wrote:

Hi,

I´am trying to understand the represenation of the elments of GF(x,y) in GAP.

I need to work with the field F_p^l. F_p^l is isomorph to (Z_p)^l .
Is there a way to translate the follwing output into a representation of (Z_p)^l in GAP:

gap> Elements(GF(3,2));
[ 0*Z(3), Z(3)^0, Z(3), Z(3^2), Z(3^2)^2, Z(3^2)^3, Z(3^2)^5, Z(3^2)^6,
 Z(3^2)^7 ]

I need tuples to handle with them.
Which tuple representation is for example Z(3^2)^2 ?

regards,
Nasira
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum


_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to