axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-math] Working with finite fields


From: Humberto Ortiz-Zuazaga
Subject: [Axiom-math] Working with finite fields
Date: Wed, 02 Feb 2005 15:26:57 -0400

I've got some code I'm converting from Macaulay2 to Axiom that deals
with finite fields. I have a question regarding converting fields to
other representations

In maculay, I can set up a field with a particular quotient ring:

-- Set up a 13 bit polynomial ring over Z_2

i1 : A = ZZ/2[X]/(X^13+X^8+X^5+X^3+X^2+X+1)

o1 = A

o1 : QuotientRing

-- Make the Galois Field, a is the root

i2 : k = GF(A,Variable => a)

o2 = k

o2 : GaloisField

-- This uses a representation like Axiom's FiniteFieldCyclicGroup

i5 : a^5128

      5128
o5 = a

o5 : k

-- But I can look at the term like a polynomial also:

i6 : lift(a^5128, ambient k)

      11    10    9    5    4    2
o6 = X   + X   + X  + X  + X  + X

o6 : A

I can do everything except the last step in Axiom:

 GF2 := PF 2
 m := monomial(1,1)$SUP(GF2)
 f := m^13+m^8+m^5+m^3+m^2+m+1
 GF8192 := FFCGP(GF2,f)
 a := primitiveElement()$GF8192

So now:

(6) -> a**5128

          5128
   (6)  %A
Type: FiniteFieldCyclicGroupExtensionByPolynomial(PrimeField 
2,?**13+?**8+?**5+?**3+?*?+?+1)

but I can't understand the output of )display op lift to figure out how
to get the result I want. I'm building the February (patch-30) release
on Ubuntu Warty as we speak, in the hope that Browse/Hypertex will make
it easier to understand the available documentation.

I do know I could use the FFPX constructor to get the large field in
polynomial form, and then call discreteLogarithm to get the exponents. I
guess my question is can I do the converse easily?

-- 
Humberto Ortiz Zuazaga
Programmer Archaeologist
University of Puerto Rico
High Performance Computing facility
http://www.hpcf.upr.edu/~humberto/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]