[Top][All Lists]
[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/
- [Axiom-math] Working with finite fields,
Humberto Ortiz-Zuazaga <=