
(/VERSIONCHECK 2) 

(DEFUN |FRAMALG-;convert;SV;1| (|x| $) (SPADCALL |x| (QREFELT $ 10))) 

(DEFUN |FRAMALG-;convert;VS;2| (|v| $) (SPADCALL |v| (QREFELT $ 12))) 

(DEFUN |FRAMALG-;traceMatrix;M;3| ($)
  (SPADCALL (SPADCALL (QREFELT $ 15)) (QREFELT $ 17))) 

(DEFUN |FRAMALG-;discriminant;R;4| ($)
  (SPADCALL (SPADCALL (QREFELT $ 15)) (QREFELT $ 19))) 

(DEFUN |FRAMALG-;regularRepresentation;SM;5| (|x| $)
  (SPADCALL |x| (SPADCALL (QREFELT $ 15)) (QREFELT $ 21))) 

(DEFUN |FRAMALG-;coordinates;VM;6| (|x| $)
  (SPADCALL |x| (SPADCALL (QREFELT $ 15)) (QREFELT $ 23))) 

(DEFUN |FRAMALG-;represents;VS;7| (|x| $)
  (SPADCALL |x| (SPADCALL (QREFELT $ 15)) (QREFELT $ 25))) 

(DEFUN |FRAMALG-;coordinates;VM;8| (|v| $)
  (PROG (#1=#:G6900 |i| |j| |m|)
    (RETURN
     (SEQ
      (LETT |m|
            (SPADCALL (QVSIZE |v|) (SPADCALL (QREFELT $ 28))
                      (|spadConstant| $ 29) (QREFELT $ 31))
            . #2=(|FRAMALG-;coordinates;VM;8|))
      (SEQ (LETT |j| (SPADCALL |m| (QREFELT $ 35)) . #2#)
           (LETT |i| (SPADCALL |v| (QREFELT $ 34)) . #2#)
           (LETT #1# (QVSIZE |v|) . #2#) G190 (COND ((> |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (SPADCALL |m| |j|
                       (SPADCALL (SPADCALL |v| |i| (QREFELT $ 36))
                                 (QREFELT $ 10))
                       (QREFELT $ 37))))
           (LETT |i| (PROG1 (+ |i| 1) (LETT |j| (+ |j| 1) . #2#)) . #2#)
           (GO G190) G191 (EXIT NIL))
      (EXIT |m|))))) 

(DEFUN |FRAMALG-;regularRepresentation;SM;9| (|x| $)
  (PROG (#1=#:G6904 |i| |j| |b| |m| |n|)
    (RETURN
     (SEQ
      (LETT |m|
            (SPADCALL
             (LETT |n| (SPADCALL (QREFELT $ 28))
                   . #2=(|FRAMALG-;regularRepresentation;SM;9|))
             |n| (|spadConstant| $ 29) (QREFELT $ 31))
            . #2#)
      (LETT |b| (SPADCALL (QREFELT $ 15)) . #2#)
      (SEQ (LETT |j| (SPADCALL |m| (QREFELT $ 35)) . #2#)
           (LETT |i| (SPADCALL |b| (QREFELT $ 34)) . #2#)
           (LETT #1# (QVSIZE |b|) . #2#) G190 (COND ((> |i| #1#) (GO G191)))
           (SEQ
            (EXIT
             (SPADCALL |m| |j|
                       (SPADCALL
                        (SPADCALL |x| (SPADCALL |b| |i| (QREFELT $ 36))
                                  (QREFELT $ 38))
                        (QREFELT $ 10))
                       (QREFELT $ 37))))
           (LETT |i| (PROG1 (+ |i| 1) (LETT |j| (+ |j| 1) . #2#)) . #2#)
           (GO G190) G191 (EXIT NIL))
      (EXIT (SPADCALL |m| (QREFELT $ 39))))))) 

(DEFUN |FRAMALG-;characteristicPolynomial;SUP;10| (|x| $)
  (PROG (|mat1| |mat0| |mat00|)
    (RETURN
     (SEQ
      (LETT |mat00| (SPADCALL |x| (QREFELT $ 40))
            . #1=(|FRAMALG-;characteristicPolynomial;SUP;10|))
      (LETT |mat0| (SPADCALL (ELT $ 41) |mat00| (QREFELT $ 45)) . #1#)
      (LETT |mat1|
            (SPADCALL (SPADCALL (QREFELT $ 28))
                      (SPADCALL (|spadConstant| $ 47) 1 (QREFELT $ 48))
                      (QREFELT $ 49))
            . #1#)
      (EXIT
       (SPADCALL (SPADCALL |mat1| |mat0| (QREFELT $ 50)) (QREFELT $ 51))))))) 

(DEFUN |FRAMALG-;minimalPolynomial;SUP;11| (|x| $)
  (PROG (#1=#:G6912 #2=#:G6911 #3=#:G6913 #4=#:G6917 |i| |v| |y| #5=#:G6916 |m|
         |n|)
    (RETURN
     (SEQ
      (LETT |y| (|spadConstant| $ 46)
            . #6=(|FRAMALG-;minimalPolynomial;SUP;11|))
      (LETT |n| (SPADCALL (QREFELT $ 28)) . #6#)
      (LETT |m| (SPADCALL |n| (+ |n| 1) (QREFELT $ 53)) . #6#)
      (SEQ (LETT |i| 1 . #6#) (LETT #5# (+ |n| 1) . #6#) G190
           (COND ((QSGREATERP |i| #5#) #7=(GO G191)))
           (SEQ (SPADCALL |m| |i| (SPADCALL |y| (QREFELT $ 10)) (QREFELT $ 54))
                (EXIT (LETT |y| (SPADCALL |y| |x| (QREFELT $ 38)) . #6#)))
           (LETT |i| (QSADD1 |i|) . #6#) #8=(GO G190) G191 (EXIT NIL))
      (LETT |v| (|SPADfirst| (SPADCALL |m| (QREFELT $ 56))) . #6#)
      (EXIT
       (PROGN
        (LETT #1# NIL . #6#)
        (SEQ (LETT |i| 0 . #6#) (LETT #4# (- (QVSIZE |v|) 1) . #6#) G190
             (COND ((QSGREATERP |i| #4#) #7#))
             (SEQ
              (EXIT
               (PROGN
                (LETT #3#
                      (SPADCALL (SPADCALL |v| (+ |i| 1) (QREFELT $ 57)) |i|
                                (QREFELT $ 48))
                      . #6#)
                (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 58)) . #6#))
                      ('T (PROGN (LETT #2# #3# . #6#) (LETT #1# 'T . #6#)))))))
             (LETT |i| (QSADD1 |i|) . #6#) #8# G191 (EXIT NIL))
        (COND (#1# #2#) ('T (|spadConstant| $ 59))))))))) 

(DEFUN |FramedAlgebra&| (|#1| |#2| |#3|)
  (PROG (|pv$| $ |dv$| DV$3 DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|FramedAlgebra&|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT DV$3 (|devaluate| |#3|) . #1#)
      (LETT |dv$| (LIST '|FramedAlgebra&| DV$1 DV$2 DV$3) . #1#)
      (LETT $ (GETREFV 61) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8 |#3|)
      (SETF |pv$| (QREFELT $ 3))
      (COND
       ((|HasCategory| |#2| '(|Field|))
        (QSETREFV $ 60
                  (CONS
                   (|dispatchFunction| |FRAMALG-;minimalPolynomial;SUP;11|)
                   $))))
      $)))) 

(MAKEPROP '|FramedAlgebra&| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (|Vector| 7) (0 . |coordinates|)
              |FRAMALG-;convert;SV;1| (5 . |represents|)
              |FRAMALG-;convert;VS;2| (|Vector| $) (10 . |basis|) (|Matrix| 7)
              (14 . |traceMatrix|) |FRAMALG-;traceMatrix;M;3|
              (19 . |discriminant|) |FRAMALG-;discriminant;R;4|
              (24 . |regularRepresentation|)
              |FRAMALG-;regularRepresentation;SM;9| (30 . |coordinates|)
              |FRAMALG-;coordinates;VM;8| (36 . |represents|)
              |FRAMALG-;represents;VS;7| (|PositiveInteger|) (42 . |rank|)
              (46 . |Zero|) (|NonNegativeInteger|) (50 . |new|) (|Integer|)
              (|Vector| 6) (57 . |minIndex|) (62 . |minRowIndex|) (67 . |qelt|)
              (73 . |setRow!|) (80 . *) (86 . |transpose|)
              (91 . |regularRepresentation|) (96 . |coerce|) (|Matrix| 8)
              (|Mapping| 8 7)
              (|MatrixCategoryFunctions2| 7 9 9 16 8 (|Vector| 8) (|Vector| 8)
                                          42)
              (101 . |map|) (107 . |One|) (111 . |One|) (115 . |monomial|)
              (121 . |scalarMatrix|) (127 . -) (133 . |determinant|)
              |FRAMALG-;characteristicPolynomial;SUP;10| (138 . |zero|)
              (144 . |setColumn!|) (|List| 9) (151 . |nullSpace|) (156 . |elt|)
              (162 . +) (168 . |Zero|) (172 . |minimalPolynomial|))
           '#(|traceMatrix| 177 |represents| 181 |regularRepresentation| 186
              |minimalPolynomial| 191 |discriminant| 196 |coordinates| 200
              |convert| 205 |characteristicPolynomial| 215)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 60
                                                 '(1 6 9 0 10 1 6 0 9 12 0 6 14
                                                   15 1 6 16 14 17 1 6 7 14 19
                                                   2 6 16 0 14 21 2 6 16 14 14
                                                   23 2 6 0 9 14 25 0 6 27 28 0
                                                   7 0 29 3 16 0 30 30 7 31 1
                                                   33 32 0 34 1 16 32 0 35 2 33
                                                   6 0 32 36 3 16 0 0 32 9 37 2
                                                   6 0 0 0 38 1 16 0 0 39 1 6
                                                   16 0 40 1 8 0 7 41 2 44 42
                                                   43 16 45 0 6 0 46 0 7 0 47 2
                                                   8 0 7 30 48 2 42 0 30 8 49 2
                                                   42 0 0 0 50 1 42 8 0 51 2 16
                                                   0 30 30 53 3 16 0 0 32 9 54
                                                   1 16 55 0 56 2 9 7 0 32 57 2
                                                   8 0 0 0 58 0 8 0 59 1 0 8 0
                                                   60 0 0 16 18 1 0 0 9 26 1 0
                                                   16 0 22 1 0 8 0 60 0 0 7 20
                                                   1 0 16 14 24 1 0 0 9 13 1 0
                                                   9 0 11 1 0 8 0 52)))))
           '|lookupComplete|)) 
