aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/ffcat.spad.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/ffcat.spad.pamphlet')
-rw-r--r--src/algebra/ffcat.spad.pamphlet651
1 files changed, 627 insertions, 24 deletions
diff --git a/src/algebra/ffcat.spad.pamphlet b/src/algebra/ffcat.spad.pamphlet
index 9505c555..f8047d80 100644
--- a/src/algebra/ffcat.spad.pamphlet
+++ b/src/algebra/ffcat.spad.pamphlet
@@ -714,15 +714,65 @@ Note that this code is not included in the generated catdef.spad file.
<<FFIELDC.lsp BOOTSTRAP>>=
-(|/VERSIONCHECK| 2)
+(/VERSIONCHECK 2)
-(SETQ |FiniteFieldCategory;AL| (QUOTE NIL))
+(DEFPARAMETER |FiniteFieldCategory;AL| 'NIL)
-(DEFUN |FiniteFieldCategory| NIL (LET (#:G83129) (COND (|FiniteFieldCategory;AL|) (T (SETQ |FiniteFieldCategory;AL| (|FiniteFieldCategory;|))))))
+(DEFUN |FiniteFieldCategory| ()
+ (LET (#:G1395)
+ (COND
+ (|FiniteFieldCategory;AL|)
+ (T (SETQ |FiniteFieldCategory;AL| (|FiniteFieldCategory;|))))))
-(DEFUN |FiniteFieldCategory;| NIL (PROG (#1=#:G83127) (RETURN (PROG1 (LETT #1# (|Join| (|FieldOfPrimeCharacteristic|) (|Finite|) (|StepThrough|) (|DifferentialRing|) (|mkCategory| (QUOTE |domain|) (QUOTE (((|charthRoot| (|$| |$|)) T) ((|conditionP| ((|Union| (|Vector| |$|) "failed") (|Matrix| |$|))) T) ((|factorsOfCyclicGroupSize| ((|List| (|Record| (|:| |factor| (|Integer|)) (|:| |exponent| (|Integer|)))))) T) ((|tableForDiscreteLogarithm| ((|Table| (|PositiveInteger|) (|NonNegativeInteger|)) (|Integer|))) T) ((|createPrimitiveElement| (|$|)) T) ((|primitiveElement| (|$|)) T) ((|primitive?| ((|Boolean|) |$|)) T) ((|discreteLog| ((|NonNegativeInteger|) |$|)) T) ((|order| ((|PositiveInteger|) |$|)) T) ((|representationType| ((|Union| "prime" "polynomial" "normal" "cyclic"))) T))) NIL (QUOTE ((|PositiveInteger|) (|NonNegativeInteger|) (|Boolean|) (|Table| (|PositiveInteger|) (|NonNegativeInteger|)) (|Integer|) (|List| (|Record| (|:| |factor| (|Integer|)) (|:| |exponent| (|Integer|)))) (|Matrix| |$|))) NIL)) |FiniteFieldCategory|) (SETELT #1# 0 (QUOTE (|FiniteFieldCategory|)))))))
+(DEFUN |FiniteFieldCategory;| ()
+ (PROG (#0=#:G1393)
+ (RETURN
+ (PROG1 (LETT #0#
+ (|Join| (|FieldOfPrimeCharacteristic|) (|Finite|)
+ (|StepThrough|) (|DifferentialRing|)
+ (|mkCategory| '|domain|
+ '(((|charthRoot| ($ $)) T)
+ ((|conditionP|
+ ((|Union| (|Vector| $) "failed")
+ (|Matrix| $)))
+ T)
+ ((|factorsOfCyclicGroupSize|
+ ((|List|
+ (|Record|
+ (|:| |factor| (|Integer|))
+ (|:| |exponent| (|Integer|))))))
+ T)
+ ((|tableForDiscreteLogarithm|
+ ((|Table| (|PositiveInteger|)
+ (|NonNegativeInteger|))
+ (|Integer|)))
+ T)
+ ((|createPrimitiveElement| ($)) T)
+ ((|primitiveElement| ($)) T)
+ ((|primitive?| ((|Boolean|) $)) T)
+ ((|discreteLog|
+ ((|NonNegativeInteger|) $))
+ T)
+ ((|order| ((|PositiveInteger|) $)) T)
+ ((|representationType|
+ ((|Union| "prime" "polynomial"
+ "normal" "cyclic")))
+ T))
+ NIL
+ '((|PositiveInteger|)
+ (|NonNegativeInteger|) (|Boolean|)
+ (|Table| (|PositiveInteger|)
+ (|NonNegativeInteger|))
+ (|Integer|)
+ (|List| (|Record|
+ (|:| |factor| (|Integer|))
+ (|:| |exponent| (|Integer|))))
+ (|Matrix| $))
+ NIL))
+ |FiniteFieldCategory|)
+ (SETELT #0# 0 '(|FiniteFieldCategory|))))))
-(MAKEPROP (QUOTE |FiniteFieldCategory|) (QUOTE NILADIC) T)
+(MAKEPROP '|FiniteFieldCategory| 'NILADIC T)
@
\section{FFIELDC-.lsp BOOTSTRAP}
{\bf FFIELDC-} depends on {\bf FFIELDC}. We need to break this cycle to build
@@ -735,43 +785,596 @@ Note that this code is not included in the generated catdef.spad file.
<<FFIELDC-.lsp BOOTSTRAP>>=
-(|/VERSIONCHECK| 2)
+(/VERSIONCHECK 2)
-(DEFUN |FFIELDC-;differentiate;2S;1| (|x| |$|) (|spadConstant| |$| 7))
+(DEFUN |FFIELDC-;differentiate;2S;1| (|x| $) (|spadConstant| $ 7))
-(DEFUN |FFIELDC-;init;S;2| (|$|) (|spadConstant| |$| 7))
+(DEFUN |FFIELDC-;init;S;2| ($) (|spadConstant| $ 7))
-(DEFUN |FFIELDC-;nextItem;SU;3| (|a| |$|) (COND ((SPADCALL (LETT |a| (SPADCALL (|+| (SPADCALL |a| (QREFELT |$| 11)) 1) (QREFELT |$| 12)) |FFIELDC-;nextItem;SU;3|) (QREFELT |$| 14)) (CONS 1 "failed")) ((QUOTE T) (CONS 0 |a|))))
+(DEFUN |FFIELDC-;nextItem;SU;3| (|a| $)
+ (COND
+ ((SPADCALL
+ (LETT |a|
+ (SPADCALL (+ (SPADCALL |a| (QREFELT $ 11)) 1)
+ (QREFELT $ 12))
+ |FFIELDC-;nextItem;SU;3|)
+ (QREFELT $ 14))
+ (CONS 1 "failed"))
+ ('T (CONS 0 |a|))))
-(DEFUN |FFIELDC-;order;SOpc;4| (|e| |$|) (SPADCALL (SPADCALL |e| (QREFELT |$| 17)) (QREFELT |$| 20)))
+(DEFUN |FFIELDC-;order;SOpc;4| (|e| $)
+ (SPADCALL (SPADCALL |e| (QREFELT $ 17)) (QREFELT $ 20)))
-(DEFUN |FFIELDC-;conditionP;MU;5| (|mat| |$|) (PROG (|l|) (RETURN (SEQ (LETT |l| (SPADCALL |mat| (QREFELT |$| 24)) |FFIELDC-;conditionP;MU;5|) (COND ((OR (NULL |l|) (SPADCALL (ELT |$| 14) (|SPADfirst| |l|) (QREFELT |$| 27))) (EXIT (CONS 1 "failed")))) (EXIT (CONS 0 (SPADCALL (ELT |$| 28) (|SPADfirst| |l|) (QREFELT |$| 30))))))))
+(DEFUN |FFIELDC-;conditionP;MU;5| (|mat| $)
+ (PROG (|l|)
+ (RETURN
+ (SEQ (LETT |l| (SPADCALL |mat| (QREFELT $ 24))
+ |FFIELDC-;conditionP;MU;5|)
+ (COND
+ ((OR (NULL |l|)
+ (SPADCALL (ELT $ 14) (|SPADfirst| |l|)
+ (QREFELT $ 27)))
+ (EXIT (CONS 1 "failed"))))
+ (EXIT (CONS 0
+ (SPADCALL (ELT $ 28) (|SPADfirst| |l|)
+ (QREFELT $ 30))))))))
-(DEFUN |FFIELDC-;charthRoot;2S;6| (|x| |$|) (SPADCALL |x| (QUOTIENT2 (SPADCALL (QREFELT |$| 35)) (SPADCALL (QREFELT |$| 36))) (QREFELT |$| 37)))
+(DEFUN |FFIELDC-;charthRoot;2S;6| (|x| $)
+ (SPADCALL |x|
+ (QUOTIENT2 (SPADCALL (QREFELT $ 35)) (SPADCALL (QREFELT $ 36)))
+ (QREFELT $ 37)))
-(DEFUN |FFIELDC-;charthRoot;SU;7| (|x| |$|) (CONS 0 (SPADCALL |x| (QREFELT |$| 28))))
+(DEFUN |FFIELDC-;charthRoot;SU;7| (|x| $)
+ (CONS 0 (SPADCALL |x| (QREFELT $ 28))))
-(DEFUN |FFIELDC-;createPrimitiveElement;S;8| (|$|) (PROG (|sm1| |start| |i| #1=#:G83175 |e| |found|) (RETURN (SEQ (LETT |sm1| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;createPrimitiveElement;S;8|) (LETT |start| (COND ((SPADCALL (SPADCALL (QREFELT |$| 42)) (CONS 1 "polynomial") (QREFELT |$| 43)) (SPADCALL (QREFELT |$| 36))) ((QUOTE T) 1)) |FFIELDC-;createPrimitiveElement;S;8|) (LETT |found| (QUOTE NIL) |FFIELDC-;createPrimitiveElement;S;8|) (SEQ (LETT |i| |start| |FFIELDC-;createPrimitiveElement;S;8|) G190 (COND ((NULL (COND (|found| (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |e| (SPADCALL (PROG1 (LETT #1# |i| |FFIELDC-;createPrimitiveElement;S;8|) (|check-subtype| (|>| #1# 0) (QUOTE (|PositiveInteger|)) #1#)) (QREFELT |$| 12)) |FFIELDC-;createPrimitiveElement;S;8|) (EXIT (LETT |found| (EQL (SPADCALL |e| (QREFELT |$| 17)) |sm1|) |FFIELDC-;createPrimitiveElement;S;8|))) (LETT |i| (|+| |i| 1) |FFIELDC-;createPrimitiveElement;S;8|) (GO G190) G191 (EXIT NIL)) (EXIT |e|)))))
+(DEFUN |FFIELDC-;createPrimitiveElement;S;8| ($)
+ (PROG (|sm1| |start| |i| #0=#:G1434 |e| |found|)
+ (RETURN
+ (SEQ (LETT |sm1| (- (SPADCALL (QREFELT $ 35)) 1)
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (LETT |start|
+ (COND
+ ((SPADCALL (SPADCALL (QREFELT $ 42))
+ (CONS 1 "polynomial") (QREFELT $ 43))
+ (SPADCALL (QREFELT $ 36)))
+ ('T 1))
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (LETT |found| 'NIL |FFIELDC-;createPrimitiveElement;S;8|)
+ (SEQ (LETT |i| |start|
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ G190
+ (COND
+ ((NULL (SPADCALL |found| (QREFELT $ 44))) (GO G191)))
+ (SEQ (LETT |e|
+ (SPADCALL
+ (PROG1 (LETT #0# |i|
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (|check-subtype| (> #0# 0)
+ '(|PositiveInteger|) #0#))
+ (QREFELT $ 12))
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (EXIT (LETT |found|
+ (EQL (SPADCALL |e| (QREFELT $ 17))
+ |sm1|)
+ |FFIELDC-;createPrimitiveElement;S;8|)))
+ (LETT |i| (+ |i| 1)
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |e|)))))
-(DEFUN |FFIELDC-;primitive?;SB;9| (|a| |$|) (PROG (|explist| |q| |exp| #1=#:G83187 |equalone|) (RETURN (SEQ (COND ((SPADCALL |a| (QREFELT |$| 14)) (QUOTE NIL)) ((QUOTE T) (SEQ (LETT |explist| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;primitive?;SB;9|) (LETT |q| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;primitive?;SB;9|) (LETT |equalone| (QUOTE NIL) |FFIELDC-;primitive?;SB;9|) (SEQ (LETT |exp| NIL |FFIELDC-;primitive?;SB;9|) (LETT #1# |explist| |FFIELDC-;primitive?;SB;9|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |exp| (CAR #1#) |FFIELDC-;primitive?;SB;9|) NIL) (NULL (COND (|equalone| (QUOTE NIL)) ((QUOTE T) (QUOTE T))))) (GO G191))) (SEQ (EXIT (LETT |equalone| (SPADCALL (SPADCALL |a| (QUOTIENT2 |q| (QCAR |exp|)) (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;primitive?;SB;9|))) (LETT #1# (CDR #1#) |FFIELDC-;primitive?;SB;9|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|equalone| (QUOTE NIL)) ((QUOTE T) (QUOTE T)))))))))))
+(DEFUN |FFIELDC-;primitive?;SB;9| (|a| $)
+ (PROG (|explist| |q| |exp| #0=#:G1446 |equalone|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |a| (QREFELT $ 14)) 'NIL)
+ ('T
+ (SEQ (LETT |explist| (SPADCALL (QREFELT $ 48))
+ |FFIELDC-;primitive?;SB;9|)
+ (LETT |q| (- (SPADCALL (QREFELT $ 35)) 1)
+ |FFIELDC-;primitive?;SB;9|)
+ (LETT |equalone| 'NIL |FFIELDC-;primitive?;SB;9|)
+ (SEQ (LETT |exp| NIL |FFIELDC-;primitive?;SB;9|)
+ (LETT #0# |explist| |FFIELDC-;primitive?;SB;9|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |exp| (CAR #0#)
+ |FFIELDC-;primitive?;SB;9|)
+ NIL)
+ (NULL (SPADCALL |equalone|
+ (QREFELT $ 44))))
+ (GO G191)))
+ (SEQ (EXIT (LETT |equalone|
+ (SPADCALL
+ (SPADCALL |a|
+ (QUOTIENT2 |q| (QCAR |exp|))
+ (QREFELT $ 49))
+ (|spadConstant| $ 40)
+ (QREFELT $ 50))
+ |FFIELDC-;primitive?;SB;9|)))
+ (LETT #0# (CDR #0#) |FFIELDC-;primitive?;SB;9|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (SPADCALL |equalone| (QREFELT $ 44))))))))))
-(DEFUN |FFIELDC-;order;SPi;10| (|e| |$|) (PROG (|lof| |rec| #1=#:G83195 |primeDivisor| |j| #2=#:G83196 |a| |goon| |ord|) (RETURN (SEQ (COND ((SPADCALL |e| (|spadConstant| |$| 7) (QREFELT |$| 51)) (|error| "order(0) is not defined ")) ((QUOTE T) (SEQ (LETT |ord| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;order;SPi;10|) (LETT |a| 0 |FFIELDC-;order;SPi;10|) (LETT |lof| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;order;SPi;10|) (SEQ (LETT |rec| NIL |FFIELDC-;order;SPi;10|) (LETT #1# |lof| |FFIELDC-;order;SPi;10|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |rec| (CAR #1#) |FFIELDC-;order;SPi;10|) NIL)) (GO G191))) (SEQ (LETT |a| (QUOTIENT2 |ord| (LETT |primeDivisor| (QCAR |rec|) |FFIELDC-;order;SPi;10|)) |FFIELDC-;order;SPi;10|) (LETT |goon| (SPADCALL (SPADCALL |e| |a| (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;order;SPi;10|) (SEQ (LETT |j| 0 |FFIELDC-;order;SPi;10|) (LETT #2# (|-| (QCDR |rec|) 2) |FFIELDC-;order;SPi;10|) G190 (COND ((OR (QSGREATERP |j| #2#) (NULL |goon|)) (GO G191))) (SEQ (LETT |ord| |a| |FFIELDC-;order;SPi;10|) (LETT |a| (QUOTIENT2 |ord| |primeDivisor|) |FFIELDC-;order;SPi;10|) (EXIT (LETT |goon| (SPADCALL (SPADCALL |e| |a| (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;order;SPi;10|))) (LETT |j| (QSADD1 |j|) |FFIELDC-;order;SPi;10|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|goon| (LETT |ord| |a| |FFIELDC-;order;SPi;10|))))) (LETT #1# (CDR #1#) |FFIELDC-;order;SPi;10|) (GO G190) G191 (EXIT NIL)) (EXIT |ord|))))))))
+(DEFUN |FFIELDC-;order;SPi;10| (|e| $)
+ (PROG (|lof| |rec| #0=#:G1454 |primeDivisor| |j| #1=#:G1455 |a|
+ |goon| |ord|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |e| (|spadConstant| $ 7) (QREFELT $ 50))
+ (|error| "order(0) is not defined "))
+ ('T
+ (SEQ (LETT |ord| (- (SPADCALL (QREFELT $ 35)) 1)
+ |FFIELDC-;order;SPi;10|)
+ (LETT |a| 0 |FFIELDC-;order;SPi;10|)
+ (LETT |lof| (SPADCALL (QREFELT $ 48))
+ |FFIELDC-;order;SPi;10|)
+ (SEQ (LETT |rec| NIL |FFIELDC-;order;SPi;10|)
+ (LETT #0# |lof| |FFIELDC-;order;SPi;10|) G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |rec| (CAR #0#)
+ |FFIELDC-;order;SPi;10|)
+ NIL))
+ (GO G191)))
+ (SEQ (LETT |a|
+ (QUOTIENT2 |ord|
+ (LETT |primeDivisor| (QCAR |rec|)
+ |FFIELDC-;order;SPi;10|))
+ |FFIELDC-;order;SPi;10|)
+ (LETT |goon|
+ (SPADCALL
+ (SPADCALL |e| |a| (QREFELT $ 49))
+ (|spadConstant| $ 40)
+ (QREFELT $ 50))
+ |FFIELDC-;order;SPi;10|)
+ (SEQ (LETT |j| 0 |FFIELDC-;order;SPi;10|)
+ (LETT #1# (- (QCDR |rec|) 2)
+ |FFIELDC-;order;SPi;10|)
+ G190
+ (COND
+ ((OR (QSGREATERP |j| #1#)
+ (NULL |goon|))
+ (GO G191)))
+ (SEQ (LETT |ord| |a|
+ |FFIELDC-;order;SPi;10|)
+ (LETT |a|
+ (QUOTIENT2 |ord|
+ |primeDivisor|)
+ |FFIELDC-;order;SPi;10|)
+ (EXIT
+ (LETT |goon|
+ (SPADCALL
+ (SPADCALL |e| |a|
+ (QREFELT $ 49))
+ (|spadConstant| $ 40)
+ (QREFELT $ 50))
+ |FFIELDC-;order;SPi;10|)))
+ (LETT |j| (QSADD1 |j|)
+ |FFIELDC-;order;SPi;10|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (COND
+ (|goon|
+ (LETT |ord| |a|
+ |FFIELDC-;order;SPi;10|)))))
+ (LETT #0# (CDR #0#) |FFIELDC-;order;SPi;10|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |ord|))))))))
-(DEFUN |FFIELDC-;discreteLog;SNni;11| (|b| |$|) (PROG (|faclist| |gen| |groupord| |f| #1=#:G83216 |fac| |t| #2=#:G83217 |exp| |exptable| |n| |end| |i| |rho| |found| |disc1| |c| |mult| |disclog| |a|) (RETURN (SEQ (COND ((SPADCALL |b| (QREFELT |$| 14)) (|error| "discreteLog: logarithm of zero")) ((QUOTE T) (SEQ (LETT |faclist| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;discreteLog;SNni;11|) (LETT |a| |b| |FFIELDC-;discreteLog;SNni;11|) (LETT |gen| (SPADCALL (QREFELT |$| 53)) |FFIELDC-;discreteLog;SNni;11|) (EXIT (COND ((SPADCALL |b| |gen| (QREFELT |$| 51)) 1) ((QUOTE T) (SEQ (LETT |disclog| 0 |FFIELDC-;discreteLog;SNni;11|) (LETT |mult| 1 |FFIELDC-;discreteLog;SNni;11|) (LETT |groupord| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;discreteLog;SNni;11|) (LETT |exp| |groupord| |FFIELDC-;discreteLog;SNni;11|) (SEQ (LETT |f| NIL |FFIELDC-;discreteLog;SNni;11|) (LETT #1# |faclist| |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) |FFIELDC-;discreteLog;SNni;11|) NIL)) (GO G191))) (SEQ (LETT |fac| (QCAR |f|) |FFIELDC-;discreteLog;SNni;11|) (EXIT (SEQ (LETT |t| 0 |FFIELDC-;discreteLog;SNni;11|) (LETT #2# (|-| (QCDR |f|) 1) |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((QSGREATERP |t| #2#) (GO G191))) (SEQ (LETT |exp| (QUOTIENT2 |exp| |fac|) |FFIELDC-;discreteLog;SNni;11|) (LETT |exptable| (SPADCALL |fac| (QREFELT |$| 55)) |FFIELDC-;discreteLog;SNni;11|) (LETT |n| (SPADCALL |exptable| (QREFELT |$| 56)) |FFIELDC-;discreteLog;SNni;11|) (LETT |c| (SPADCALL |a| |exp| (QREFELT |$| 48)) |FFIELDC-;discreteLog;SNni;11|) (LETT |end| (QUOTIENT2 (|-| |fac| 1) |n|) |FFIELDC-;discreteLog;SNni;11|) (LETT |found| (QUOTE NIL) |FFIELDC-;discreteLog;SNni;11|) (LETT |disc1| 0 |FFIELDC-;discreteLog;SNni;11|) (SEQ (LETT |i| 0 |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((OR (QSGREATERP |i| |end|) (NULL (COND (|found| (QUOTE NIL)) ((QUOTE T) (QUOTE T))))) (GO G191))) (SEQ (LETT |rho| (SPADCALL (SPADCALL |c| (QREFELT |$| 11)) |exptable| (QREFELT |$| 58)) |FFIELDC-;discreteLog;SNni;11|) (EXIT (COND ((QEQCAR |rho| 0) (SEQ (LETT |found| (QUOTE T) |FFIELDC-;discreteLog;SNni;11|) (EXIT (LETT |disc1| (|*| (|+| (|*| |n| |i|) (QCDR |rho|)) |mult|) |FFIELDC-;discreteLog;SNni;11|)))) ((QUOTE T) (LETT |c| (SPADCALL |c| (SPADCALL |gen| (|*| (QUOTIENT2 |groupord| |fac|) (|-| |n|)) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;SNni;11|))))) (LETT |i| (QSADD1 |i|) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|found| (SEQ (LETT |mult| (|*| |mult| |fac|) |FFIELDC-;discreteLog;SNni;11|) (LETT |disclog| (|+| |disclog| |disc1|) |FFIELDC-;discreteLog;SNni;11|) (EXIT (LETT |a| (SPADCALL |a| (SPADCALL |gen| (|-| |disc1|) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;SNni;11|)))) ((QUOTE T) (|error| "discreteLog: ?? discrete logarithm"))))) (LETT |t| (QSADD1 |t|) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)))) (LETT #1# (CDR #1#) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)) (EXIT |disclog|))))))))))))
+(DEFUN |FFIELDC-;discreteLog;SNni;11| (|b| $)
+ (PROG (|faclist| |gen| |groupord| |f| #0=#:G1475 |fac| |t| #1=#:G1476
+ |exp| |exptable| |n| |end| |i| |rho| |found| |disc1| |c|
+ |mult| |disclog| |a|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |b| (QREFELT $ 14))
+ (|error| "discreteLog: logarithm of zero"))
+ ('T
+ (SEQ (LETT |faclist| (SPADCALL (QREFELT $ 48))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |a| |b| |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |gen| (SPADCALL (QREFELT $ 53))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT (COND
+ ((SPADCALL |b| |gen| (QREFELT $ 50)) 1)
+ ('T
+ (SEQ (LETT |disclog| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |mult| 1
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |groupord|
+ (- (SPADCALL (QREFELT $ 35)) 1)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |exp| |groupord|
+ |FFIELDC-;discreteLog;SNni;11|)
+ (SEQ (LETT |f| NIL
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT #0# |faclist|
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |f| (CAR #0#)
+ |FFIELDC-;discreteLog;SNni;11|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (LETT |fac| (QCAR |f|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (SEQ
+ (LETT |t| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT #1# (- (QCDR |f|) 1)
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((QSGREATERP |t| #1#)
+ (GO G191)))
+ (SEQ
+ (LETT |exp|
+ (QUOTIENT2 |exp| |fac|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |exptable|
+ (SPADCALL |fac|
+ (QREFELT $ 55))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |n|
+ (SPADCALL |exptable|
+ (QREFELT $ 56))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |c|
+ (SPADCALL |a| |exp|
+ (QREFELT $ 49))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |end|
+ (QUOTIENT2 (- |fac| 1) |n|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |found| 'NIL
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |disc1| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (SEQ
+ (LETT |i| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((OR
+ (QSGREATERP |i| |end|)
+ (NULL
+ (SPADCALL |found|
+ (QREFELT $ 44))))
+ (GO G191)))
+ (SEQ
+ (LETT |rho|
+ (SPADCALL
+ (SPADCALL |c|
+ (QREFELT $ 11))
+ |exptable|
+ (QREFELT $ 58))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (COND
+ ((QEQCAR |rho| 0)
+ (SEQ
+ (LETT |found| 'T
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (LETT |disc1|
+ (*
+ (+ (* |n| |i|)
+ (QCDR |rho|))
+ |mult|)
+ |FFIELDC-;discreteLog;SNni;11|))))
+ ('T
+ (LETT |c|
+ (SPADCALL |c|
+ (SPADCALL |gen|
+ (*
+ (QUOTIENT2
+ |groupord| |fac|)
+ (- |n|))
+ (QREFELT $ 49))
+ (QREFELT $ 59))
+ |FFIELDC-;discreteLog;SNni;11|)))))
+ (LETT |i| (QSADD1 |i|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT
+ (COND
+ (|found|
+ (SEQ
+ (LETT |mult|
+ (* |mult| |fac|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |disclog|
+ (+ |disclog| |disc1|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (LETT |a|
+ (SPADCALL |a|
+ (SPADCALL |gen|
+ (- |disc1|)
+ (QREFELT $ 49))
+ (QREFELT $ 59))
+ |FFIELDC-;discreteLog;SNni;11|))))
+ ('T
+ (|error|
+ "discreteLog: ?? discrete logarithm")))))
+ (LETT |t| (QSADD1 |t|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |disclog|))))))))))))
-(DEFUN |FFIELDC-;discreteLog;2SU;12| (|logbase| |b| |$|) (PROG (|groupord| |faclist| |f| #1=#:G83235 |fac| |primroot| |t| #2=#:G83236 |exp| |rhoHelp| #3=#:G83234 |rho| |disclog| |mult| |a|) (RETURN (SEQ (EXIT (COND ((SPADCALL |b| (QREFELT |$| 14)) (SEQ (SPADCALL "discreteLog: logarithm of zero" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((SPADCALL |logbase| (QREFELT |$| 14)) (SEQ (SPADCALL "discreteLog: logarithm to base zero" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((SPADCALL |b| |logbase| (QREFELT |$| 51)) (CONS 0 1)) ((QUOTE T) (COND ((NULL (ZEROP (REMAINDER2 (LETT |groupord| (SPADCALL |logbase| (QREFELT |$| 17)) |FFIELDC-;discreteLog;2SU;12|) (SPADCALL |b| (QREFELT |$| 17))))) (SEQ (SPADCALL "discreteLog: second argument not in cyclic group generated by first argument" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((QUOTE T) (SEQ (LETT |faclist| (SPADCALL (SPADCALL |groupord| (QREFELT |$| 66)) (QREFELT |$| 68)) |FFIELDC-;discreteLog;2SU;12|) (LETT |a| |b| |FFIELDC-;discreteLog;2SU;12|) (LETT |disclog| 0 |FFIELDC-;discreteLog;2SU;12|) (LETT |mult| 1 |FFIELDC-;discreteLog;2SU;12|) (LETT |exp| |groupord| |FFIELDC-;discreteLog;2SU;12|) (SEQ (LETT |f| NIL |FFIELDC-;discreteLog;2SU;12|) (LETT #1# |faclist| |FFIELDC-;discreteLog;2SU;12|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) |FFIELDC-;discreteLog;2SU;12|) NIL)) (GO G191))) (SEQ (LETT |fac| (QCAR |f|) |FFIELDC-;discreteLog;2SU;12|) (LETT |primroot| (SPADCALL |logbase| (QUOTIENT2 |groupord| |fac|) (QREFELT |$| 48)) |FFIELDC-;discreteLog;2SU;12|) (EXIT (SEQ (LETT |t| 0 |FFIELDC-;discreteLog;2SU;12|) (LETT #2# (|-| (QCDR |f|) 1) |FFIELDC-;discreteLog;2SU;12|) G190 (COND ((QSGREATERP |t| #2#) (GO G191))) (SEQ (LETT |exp| (QUOTIENT2 |exp| |fac|) |FFIELDC-;discreteLog;2SU;12|) (LETT |rhoHelp| (SPADCALL |primroot| (SPADCALL |a| |exp| (QREFELT |$| 48)) |fac| (QREFELT |$| 70)) |FFIELDC-;discreteLog;2SU;12|) (EXIT (COND ((QEQCAR |rhoHelp| 1) (PROGN (LETT #3# (CONS 1 "failed") |FFIELDC-;discreteLog;2SU;12|) (GO #3#))) ((QUOTE T) (SEQ (LETT |rho| (|*| (QCDR |rhoHelp|) |mult|) |FFIELDC-;discreteLog;2SU;12|) (LETT |disclog| (|+| |disclog| |rho|) |FFIELDC-;discreteLog;2SU;12|) (LETT |mult| (|*| |mult| |fac|) |FFIELDC-;discreteLog;2SU;12|) (EXIT (LETT |a| (SPADCALL |a| (SPADCALL |logbase| (|-| |rho|) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;2SU;12|))))))) (LETT |t| (QSADD1 |t|) |FFIELDC-;discreteLog;2SU;12|) (GO G190) G191 (EXIT NIL)))) (LETT #1# (CDR #1#) |FFIELDC-;discreteLog;2SU;12|) (GO G190) G191 (EXIT NIL)) (EXIT (CONS 0 |disclog|)))))))) #3# (EXIT #3#)))))
+(DEFUN |FFIELDC-;discreteLog;2SU;12| (|logbase| |b| $)
+ (PROG (|groupord| |faclist| |f| #0=#:G1494 |fac| |primroot| |t|
+ #1=#:G1495 |exp| |rhoHelp| #2=#:G1493 |rho| |disclog|
+ |mult| |a|)
+ (RETURN
+ (SEQ (EXIT (COND
+ ((SPADCALL |b| (QREFELT $ 14))
+ (SEQ (SPADCALL "discreteLog: logarithm of zero"
+ (QREFELT $ 64))
+ (EXIT (CONS 1 "failed"))))
+ ((SPADCALL |logbase| (QREFELT $ 14))
+ (SEQ (SPADCALL
+ "discreteLog: logarithm to base zero"
+ (QREFELT $ 64))
+ (EXIT (CONS 1 "failed"))))
+ ((SPADCALL |b| |logbase| (QREFELT $ 50)) (CONS 0 1))
+ ('T
+ (COND
+ ((NULL (ZEROP (REMAINDER2
+ (LETT |groupord|
+ (SPADCALL |logbase|
+ (QREFELT $ 17))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (SPADCALL |b| (QREFELT $ 17)))))
+ (SEQ (SPADCALL
+ "discreteLog: second argument not in cyclic group generated by first argument"
+ (QREFELT $ 64))
+ (EXIT (CONS 1 "failed"))))
+ ('T
+ (SEQ (LETT |faclist|
+ (SPADCALL
+ (SPADCALL |groupord|
+ (QREFELT $ 66))
+ (QREFELT $ 68))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |a| |b|
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |disclog| 0
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |mult| 1
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |exp| |groupord|
+ |FFIELDC-;discreteLog;2SU;12|)
+ (SEQ (LETT |f| NIL
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT #0# |faclist|
+ |FFIELDC-;discreteLog;2SU;12|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |f| (CAR #0#)
+ |FFIELDC-;discreteLog;2SU;12|)
+ NIL))
+ (GO G191)))
+ (SEQ (LETT |fac| (QCAR |f|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |primroot|
+ (SPADCALL |logbase|
+ (QUOTIENT2 |groupord| |fac|)
+ (QREFELT $ 49))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (SEQ
+ (LETT |t| 0
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT #1# (- (QCDR |f|) 1)
+ |FFIELDC-;discreteLog;2SU;12|)
+ G190
+ (COND
+ ((QSGREATERP |t| #1#)
+ (GO G191)))
+ (SEQ
+ (LETT |exp|
+ (QUOTIENT2 |exp| |fac|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |rhoHelp|
+ (SPADCALL |primroot|
+ (SPADCALL |a| |exp|
+ (QREFELT $ 49))
+ |fac| (QREFELT $ 70))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (COND
+ ((QEQCAR |rhoHelp| 1)
+ (PROGN
+ (LETT #2#
+ (CONS 1 "failed")
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO #2#)))
+ ('T
+ (SEQ
+ (LETT |rho|
+ (* (QCDR |rhoHelp|)
+ |mult|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |disclog|
+ (+ |disclog| |rho|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |mult|
+ (* |mult| |fac|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (LETT |a|
+ (SPADCALL |a|
+ (SPADCALL |logbase|
+ (- |rho|)
+ (QREFELT $ 49))
+ (QREFELT $ 59))
+ |FFIELDC-;discreteLog;2SU;12|)))))))
+ (LETT |t| (QSADD1 |t|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO G190) G191 (EXIT NIL))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (CONS 0 |disclog|))))))))
+ #2# (EXIT #2#)))))
-(DEFUN |FFIELDC-;squareFreePolynomial| (|f| |$|) (SPADCALL |f| (QREFELT |$| 75)))
+(DEFUN |FFIELDC-;squareFreePolynomial| (|f| $)
+ (SPADCALL |f| (QREFELT $ 75)))
-(DEFUN |FFIELDC-;factorPolynomial| (|f| |$|) (SPADCALL |f| (QREFELT |$| 77)))
+(DEFUN |FFIELDC-;factorPolynomial| (|f| $)
+ (SPADCALL |f| (QREFELT $ 77)))
-(DEFUN |FFIELDC-;factorSquareFreePolynomial| (|f| |$|) (PROG (|flist| |u| #1=#:G83248 #2=#:G83245 #3=#:G83243 #4=#:G83244) (RETURN (SEQ (COND ((SPADCALL |f| (|spadConstant| |$| 78) (QREFELT |$| 79)) (|spadConstant| |$| 80)) ((QUOTE T) (SEQ (LETT |flist| (SPADCALL |f| (QUOTE T) (QREFELT |$| 83)) |FFIELDC-;factorSquareFreePolynomial|) (EXIT (SPADCALL (SPADCALL (QCAR |flist|) (QREFELT |$| 84)) (PROGN (LETT #4# NIL |FFIELDC-;factorSquareFreePolynomial|) (SEQ (LETT |u| NIL |FFIELDC-;factorSquareFreePolynomial|) (LETT #1# (QCDR |flist|) |FFIELDC-;factorSquareFreePolynomial|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#) |FFIELDC-;factorSquareFreePolynomial|) NIL)) (GO G191))) (SEQ (EXIT (PROGN (LETT #2# (SPADCALL (QCAR |u|) (QCDR |u|) (QREFELT |$| 85)) |FFIELDC-;factorSquareFreePolynomial|) (COND (#4# (LETT #3# (SPADCALL #3# #2# (QREFELT |$| 86)) |FFIELDC-;factorSquareFreePolynomial|)) ((QUOTE T) (PROGN (LETT #3# #2# |FFIELDC-;factorSquareFreePolynomial|) (LETT #4# (QUOTE T) |FFIELDC-;factorSquareFreePolynomial|))))))) (LETT #1# (CDR #1#) |FFIELDC-;factorSquareFreePolynomial|) (GO G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) (|spadConstant| |$| 87)))) (QREFELT |$| 88))))))))))
+(DEFUN |FFIELDC-;factorSquareFreePolynomial| (|f| $)
+ (PROG (|flist| |u| #0=#:G1507 #1=#:G1504 #2=#:G1502 #3=#:G1503)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |f| (|spadConstant| $ 78) (QREFELT $ 79))
+ (|spadConstant| $ 80))
+ ('T
+ (SEQ (LETT |flist| (SPADCALL |f| 'T (QREFELT $ 83))
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (EXIT (SPADCALL
+ (SPADCALL (QCAR |flist|) (QREFELT $ 84))
+ (PROGN
+ (LETT #3# NIL
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (SEQ (LETT |u| NIL
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (LETT #0# (QCDR |flist|)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |u| (CAR #0#)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #1#
+ (SPADCALL (QCAR |u|)
+ (QCDR |u|) (QREFELT $ 85))
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (COND
+ (#3#
+ (LETT #2#
+ (SPADCALL #2# #1#
+ (QREFELT $ 86))
+ |FFIELDC-;factorSquareFreePolynomial|))
+ ('T
+ (PROGN
+ (LETT #2# #1#
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (LETT #3# 'T
+ |FFIELDC-;factorSquareFreePolynomial|)))))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (GO G190) G191 (EXIT NIL))
+ (COND
+ (#3# #2#)
+ ('T (|spadConstant| $ 87))))
+ (QREFELT $ 88))))))))))
-(DEFUN |FFIELDC-;gcdPolynomial;3Sup;16| (|f| |g| |$|) (SPADCALL |f| |g| (QREFELT |$| 90)))
+(DEFUN |FFIELDC-;gcdPolynomial;3Sup;16| (|f| |g| $)
+ (SPADCALL |f| |g| (QREFELT $ 90)))
-(DEFUN |FiniteFieldCategory&| (|#1|) (PROG (|DV$1| |dv$| |$| |pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|FiniteFieldCategory&|)) (LETT |dv$| (LIST (QUOTE |FiniteFieldCategory&|) |DV$1|) . #1#) (LETT |$| (GETREFV 93) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) |$|))))
+(DEFUN |FiniteFieldCategory&| (|#1|)
+ (PROG (|dv$1| |dv$| $ |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |dv$1| (|devaluate| |#1|) . #0=(|FiniteFieldCategory&|))
+ (LETT |dv$| (LIST '|FiniteFieldCategory&| |dv$1|) . #0#)
+ (LETT $ (GETREFV 93) . #0#)
+ (QSETREFV $ 0 |dv$|)
+ (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
+ (|stuffDomainSlots| $)
+ (QSETREFV $ 6 |#1|)
+ $))))
-(MAKEPROP (QUOTE |FiniteFieldCategory&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|) |FFIELDC-;differentiate;2S;1| |FFIELDC-;init;S;2| (|PositiveInteger|) (4 . |lookup|) (9 . |index|) (|Boolean|) (14 . |zero?|) (|Union| |$| (QUOTE "failed")) |FFIELDC-;nextItem;SU;3| (19 . |order|) (|Integer|) (|OnePointCompletion| 10) (24 . |coerce|) |FFIELDC-;order;SOpc;4| (|List| 26) (|Matrix| 6) (29 . |nullSpace|) (|Mapping| 13 6) (|Vector| 6) (34 . |every?|) (40 . |charthRoot|) (|Mapping| 6 6) (45 . |map|) (|Union| (|Vector| |$|) (QUOTE "failed")) (|Matrix| |$|) |FFIELDC-;conditionP;MU;5| (|NonNegativeInteger|) (51 . |size|) (55 . |characteristic|) (59 . |**|) |FFIELDC-;charthRoot;2S;6| |FFIELDC-;charthRoot;SU;7| (65 . |One|) (|Union| (QUOTE "prime") (QUOTE "polynomial") (QUOTE "normal") (QUOTE "cyclic")) (69 . |representationType|) (73 . |=|) |FFIELDC-;createPrimitiveElement;S;8| (|Record| (|:| |factor| 18) (|:| |exponent| 18)) (|List| 45) (79 . |factorsOfCyclicGroupSize|) (83 . |**|) (89 . |one?|) |FFIELDC-;primitive?;SB;9| (94 . |=|) |FFIELDC-;order;SPi;10| (100 . |primitiveElement|) (|Table| 10 34) (104 . |tableForDiscreteLogarithm|) (109 . |#|) (|Union| 34 (QUOTE "failed")) (114 . |search|) (120 . |*|) |FFIELDC-;discreteLog;SNni;11| (|Void|) (|String|) (|OutputForm|) (126 . |messagePrint|) (|Factored| |$|) (131 . |factor|) (|Factored| 18) (136 . |factors|) (|DiscreteLogarithmPackage| 6) (141 . |shanksDiscLogAlgorithm|) |FFIELDC-;discreteLog;2SU;12| (|Factored| 73) (|SparseUnivariatePolynomial| 6) (|UnivariatePolynomialSquareFree| 6 73) (148 . |squareFree|) (|DistinctDegreeFactorize| 6 73) (153 . |factor|) (158 . |Zero|) (162 . |=|) (168 . |Zero|) (|Record| (|:| |irr| 73) (|:| |pow| 18)) (|Record| (|:| |cont| 6) (|:| |factors| (|List| 81))) (172 . |distdfact|) (178 . |coerce|) (183 . |primeFactor|) (189 . |*|) (195 . |One|) (199 . |*|) (|EuclideanDomain&| 73) (205 . |gcd|) (|SparseUnivariatePolynomial| |$|) |FFIELDC-;gcdPolynomial;3Sup;16|)) (QUOTE #(|primitive?| 211 |order| 216 |nextItem| 226 |init| 231 |gcdPolynomial| 235 |discreteLog| 241 |differentiate| 252 |createPrimitiveElement| 257 |conditionP| 261 |charthRoot| 266)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 92 (QUOTE (0 6 0 7 1 6 10 0 11 1 6 0 10 12 1 6 13 0 14 1 6 10 0 17 1 19 0 18 20 1 23 22 0 24 2 26 13 25 0 27 1 6 0 0 28 2 26 0 29 0 30 0 6 34 35 0 6 34 36 2 6 0 0 34 37 0 6 0 40 0 6 41 42 2 41 13 0 0 43 0 6 46 47 2 6 0 0 18 48 1 6 13 0 49 2 6 13 0 0 51 0 6 0 53 1 6 54 18 55 1 54 34 0 56 2 54 57 10 0 58 2 6 0 0 0 59 1 63 61 62 64 1 18 65 0 66 1 67 46 0 68 3 69 57 6 6 34 70 1 74 72 73 75 1 76 72 73 77 0 73 0 78 2 73 13 0 0 79 0 72 0 80 2 76 82 73 13 83 1 73 0 6 84 2 72 0 73 18 85 2 72 0 0 0 86 0 72 0 87 2 72 0 73 0 88 2 89 0 0 0 90 1 0 13 0 50 1 0 10 0 52 1 0 19 0 21 1 0 15 0 16 0 0 0 9 2 0 91 91 91 92 1 0 34 0 60 2 0 57 0 0 71 1 0 0 0 8 0 0 0 44 1 0 31 32 33 1 0 0 0 38 1 0 15 0 39)))))) (QUOTE |lookupComplete|)))
+(MAKEPROP '|FiniteFieldCategory&| '|infovec|
+ (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|)
+ |FFIELDC-;differentiate;2S;1| |FFIELDC-;init;S;2|
+ (|PositiveInteger|) (4 . |lookup|) (9 . |index|)
+ (|Boolean|) (14 . |zero?|) (|Union| $ '"failed")
+ |FFIELDC-;nextItem;SU;3| (19 . |order|) (|Integer|)
+ (|OnePointCompletion| 10) (24 . |coerce|)
+ |FFIELDC-;order;SOpc;4| (|List| 26) (|Matrix| 6)
+ (29 . |nullSpace|) (|Mapping| 13 6) (|Vector| 6)
+ (34 . |every?|) (40 . |charthRoot|) (|Mapping| 6 6)
+ (45 . |map|) (|Union| (|Vector| $) '"failed") (|Matrix| $)
+ |FFIELDC-;conditionP;MU;5| (|NonNegativeInteger|)
+ (51 . |size|) (55 . |characteristic|) (59 . **)
+ |FFIELDC-;charthRoot;2S;6| |FFIELDC-;charthRoot;SU;7|
+ (65 . |One|)
+ (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
+ (69 . |representationType|) (73 . =) (79 . |not|)
+ |FFIELDC-;createPrimitiveElement;S;8|
+ (|Record| (|:| |factor| 18) (|:| |exponent| 18))
+ (|List| 46) (84 . |factorsOfCyclicGroupSize|) (88 . **)
+ (94 . =) |FFIELDC-;primitive?;SB;9|
+ |FFIELDC-;order;SPi;10| (100 . |primitiveElement|)
+ (|Table| 10 34) (104 . |tableForDiscreteLogarithm|)
+ (109 . |#|) (|Union| 34 '"failed") (114 . |search|)
+ (120 . *) |FFIELDC-;discreteLog;SNni;11| (|Void|)
+ (|String|) (|OutputForm|) (126 . |messagePrint|)
+ (|Factored| $) (131 . |factor|) (|Factored| 18)
+ (136 . |factors|) (|DiscreteLogarithmPackage| 6)
+ (141 . |shanksDiscLogAlgorithm|)
+ |FFIELDC-;discreteLog;2SU;12| (|Factored| 73)
+ (|SparseUnivariatePolynomial| 6)
+ (|UnivariatePolynomialSquareFree| 6 73)
+ (148 . |squareFree|) (|DistinctDegreeFactorize| 6 73)
+ (153 . |factor|) (158 . |Zero|) (162 . =) (168 . |Zero|)
+ (|Record| (|:| |irr| 73) (|:| |pow| 18))
+ (|Record| (|:| |cont| 6) (|:| |factors| (|List| 81)))
+ (172 . |distdfact|) (178 . |coerce|) (183 . |primeFactor|)
+ (189 . *) (195 . |One|) (199 . *) (|EuclideanDomain&| 73)
+ (205 . |gcd|) (|SparseUnivariatePolynomial| $)
+ |FFIELDC-;gcdPolynomial;3Sup;16|)
+ '#(|primitive?| 211 |order| 216 |nextItem| 226 |init| 231
+ |gcdPolynomial| 235 |discreteLog| 241 |differentiate| 252
+ |createPrimitiveElement| 257 |conditionP| 261 |charthRoot|
+ 266)
+ 'NIL
+ (CONS (|makeByteWordVec2| 1 'NIL)
+ (CONS '#()
+ (CONS '#()
+ (|makeByteWordVec2| 92
+ '(0 6 0 7 1 6 10 0 11 1 6 0 10 12 1 6
+ 13 0 14 1 6 10 0 17 1 19 0 18 20 1 23
+ 22 0 24 2 26 13 25 0 27 1 6 0 0 28 2
+ 26 0 29 0 30 0 6 34 35 0 6 34 36 2 6
+ 0 0 34 37 0 6 0 40 0 6 41 42 2 41 13
+ 0 0 43 1 13 0 0 44 0 6 47 48 2 6 0 0
+ 18 49 2 6 13 0 0 50 0 6 0 53 1 6 54
+ 18 55 1 54 34 0 56 2 54 57 10 0 58 2
+ 6 0 0 0 59 1 63 61 62 64 1 18 65 0 66
+ 1 67 47 0 68 3 69 57 6 6 34 70 1 74
+ 72 73 75 1 76 72 73 77 0 73 0 78 2 73
+ 13 0 0 79 0 72 0 80 2 76 82 73 13 83
+ 1 73 0 6 84 2 72 0 73 18 85 2 72 0 0
+ 0 86 0 72 0 87 2 72 0 73 0 88 2 89 0
+ 0 0 90 1 0 13 0 51 1 0 10 0 52 1 0 19
+ 0 21 1 0 15 0 16 0 0 0 9 2 0 91 91 91
+ 92 1 0 34 0 60 2 0 57 0 0 71 1 0 0 0
+ 8 0 0 0 45 1 0 31 32 33 1 0 0 0 38 1
+ 0 15 0 39)))))
+ '|lookupComplete|))
@
\section{package FFSLPE FiniteFieldSolveLinearPolynomialEquation}
<<package FFSLPE FiniteFieldSolveLinearPolynomialEquation>>=