Changes http://wiki.axiom-developer.org/FiniteFieldHomomorphisms/diff
--
finite field homomorphisms demonstration
create a irreducible, a normal and a primitive polynomial
\begin{axiom}
P3:= PF 3
fi:=createIrreduciblePoly(6)$FFPOLY(P3)
fn:=createNormalPoly(6)$FFPOLY(P3)
fp:=createPrimitivePoly(3)$FFPOLY(P3)
-- coercions between field with the same defining polynomials
F:=FFP(P3,fn)
N:=FFNBP(P3,fn)
a:=index(size()$F quo 3)$F
b:=index(size()$F quo 7)$F
an:=coerce(a)$FFHOM(F,P3,N)
bn:=coerce(b)$FFHOM(F,P3,N)
cn := an*bn
coerce(cn)$FFHOM(F,P3,N)
-- should be the same as
c:=a*b
-- coercion between fields with different extension polynomials
F:=FFP(P3,fi)
N:=FFNBP(P3,fn)
a:=index(size()$F quo 3)$F
b:=index(size()$F quo 7)$F
an:=coerce(a)$FFHOM(F,P3,N)
bn:=coerce(b)$FFHOM(F,P3,N)
cn := an*bn
coerce(cn)$FFHOM(F,P3,N)
-- should be the same as
c:=a*b
-- coercion between fields of different extension degree
C:=FFCGP(P3,fp)
N:=FFNBP(P3,fn)
a:=index(size()$C quo 3)$C
b:=index(size()$C quo 7)$C
an:=coerce(a)$FFHOM(C,P3,N)
bn:=coerce(b)$FFHOM(C,P3,N)
cn := an+bn
coerce(cn)$FFHOM(C,P3,N)
-- should be the same as
c:=a+b
\end{axiom}
comparison of computation times for arithmetic operations
\begin{axiom}
f:=createPrimitiveNormalPoly(5)$FFPOLY(P3)
FP:=FFP(P3,f)
Fc:=FFCGP(P3,f) -- FC is a domain abbreviation
FN:=FFNBP(P3,f)
ap:=index(size()$FP quo 3)$FP
ac:=coerce(ap)$FFHOM(Fc,P3,FP)
an:=coerce(ap)$FFHOM(FN,P3,FP)
bp:=index(size()$FP quo 7)$FP
bc:=coerce(bp)$FFHOM(Fc,P3,FP)
bn:=coerce(bp)$FFHOM(FN,P3,FP)
-- the next are to initialize the fields
ac+bc
an*bn
\end{axiom}
now we can compare
\begin{axiom}
)set message time on
\end{axiom}
addition
\begin{axiom}
ap+bp
an+bn
ac+bc
\end{axiom}
multiplication
\begin{axiom}
ap*bp
an*bn
ac*bc
discrete logarithms
\begin{axiom}
discreteLog(ap)
discreteLog(an)
discreteLog(ac)
\end{axiom}
exponentiation
\begin{axiom}
ap**1234567
an**1234567
ac**1234567
\end{axiom}
computations between elements of field of different representation
\begin{axiom}
ap+bc
an+bc
an+bp
\end{axiom}
--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]