[GAP Forum] representation of GF(x,y)

Stephen Linton sal at cs.st-andrews.ac.uk
Thu Aug 27 12:08:52 BST 2009


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 at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum




More information about the Forum mailing list