$SPAD/src/input galois.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool galois.output
)set message test on
)set message auto off
)clear all
--S 1 of 28
p := x**5 - 5*x + 12
--R
--R
--R         5
--R   (1)  x  - 5x + 12
--R                                                    Type: Polynomial(Integer)
--E 1
--S 2 of 28
q := resultant(eval(p,x,y),-eval(p,x,y-x),y)
--R
--R
--R   (2)
--R      25      21        17         15        13           11          9
--R     x   - 50x   - 2375x   + 90000x   - 5000x   + 2700000x   + 250000x
--R   +
--R              7            5
--R     18000000x  + 64000000x
--R                                                    Type: Polynomial(Integer)
--E 2
--S 3 of 28
q1 := exquo(q, x**5)
--R
--R
--R   (3)
--R      20      16        12         10        8           6          4
--R     x   - 50x   - 2375x   + 90000x   - 5000x  + 2700000x  + 250000x
--R   +
--R              2
--R     18000000x  + 64000000
--R                                         Type: Union(Polynomial(Integer),...)
--E 3

--S 4 of 28
factoredQ := factor q1
--R
--R
--R   (4)
--R       10      8      6        4        2
--R     (x   - 10x  - 75x  + 1500x  - 5500x  + 16000)
--R  *
--R       10      8       6       4        2
--R     (x   + 10x  + 125x  + 500x  + 2500x  + 4000)
--R                                          Type: Factored(Polynomial(Integer))
--E 4
--S 5 of 28
r := nthFactor(factoredQ,1)
--R
--R
--R         10      8      6        4        2
--R   (5)  x   - 10x  - 75x  + 1500x  - 5500x  + 16000
--R                                                    Type: Polynomial(Integer)
--E 5
--S 6 of 28
beta := rootOf(eval(r,x,b))
--R
--R
--R   (6)  b
--R                                                        Type: AlgebraicNumber
--E 6
--S 7 of 28
p := p::UP(x,INT)::UP(x,AN)
--R
--R
--R         5
--R   (7)  x  - 5x + 12
--R                                Type: UnivariatePolynomial(x,AlgebraicNumber)
--E 7
--S 8 of 28
algFactors := factor(p,[beta])
--R
--R
--R   (8)
--R       x
--R     +
--R                9       8       7        6         5        4          3
--R           - 85b  - 116b  + 780b  + 2640b  + 14895b  - 8820b  - 127050b
--R         +

--R                    2
--R           - 327000b  - 405200b + 2062400
--R      /
--R         1339200
--R  *
--R               8       6        4         2
--R          - 17b  + 156b  + 2979b  - 25410b  - 14080
--R     (x + -----------------------------------------)
--R                            66960
--R  *
--R              8        6         4          2
--R          143b  - 2100b  - 10485b  + 290550b  - 334800b - 960800
--R     (x + ------------------------------------------------------)
--R                                  669600
--R  *
--R              8        6         4          2
--R          143b  - 2100b  - 10485b  + 290550b  + 334800b - 960800
--R     (x + ------------------------------------------------------)
--R                                  669600
--R  *
--R       x
--R     +
--R              9       8       7        6         5        4          3
--R           85b  - 116b  - 780b  + 2640b  - 14895b  - 8820b  + 127050b
--R         +
--R                    2
--R           - 327000b  + 405200b + 2062400
--R      /
--R         1339200
--R                      Type: Factored(UnivariatePolynomial(x,AlgebraicNumber))
--E 8
--S 9 of 28
factor(p)
--R
--R
--R         5
--R   (9)  x  - 5x + 12
--R                      Type: Factored(UnivariatePolynomial(x,AlgebraicNumber))
--E 9
--S 10 of 28
factor1 := nthFactor(algFactors,1)
--R
--R
--R   (10)
--R     x
--R   +
--R              9       8       7        6         5        4          3
--R         - 85b  - 116b  + 780b  + 2640b  + 14895b  - 8820b  - 127050b

--R       +
--R                  2
--R         - 327000b  - 405200b + 2062400
--R    /
--R       1339200
--R                                Type: UnivariatePolynomial(x,AlgebraicNumber)
--E 10
--S 11 of 28
root1 := -coefficient(factor1,0)
--R
--R
--R   (11)
--R          9       8       7        6         5        4          3          2
--R       85b  + 116b  - 780b  - 2640b  - 14895b  + 8820b  + 127050b  + 327000b
--R     +
--R       405200b - 2062400
--R  /
--R     1339200
--R                                                        Type: AlgebraicNumber
--E 11
--S 12 of 28
roots := [-coefficient(nthFactor(algFactors,i),0) for i in 1..5]
--R
--R
--R   (12)
--R   [
--R            9       8       7        6         5        4          3          2
--R         85b  + 116b  - 780b  - 2640b  - 14895b  + 8820b  + 127050b  + 327000b
--R       +
--R         405200b - 2062400
--R    /
--R       1339200
--R     ,
--R       8       6        4         2
--R    17b  - 156b  - 2979b  + 25410b  + 14080
--R    ---------------------------------------,
--R                     66960
--R          8        6         4          2
--R    - 143b  + 2100b  + 10485b  - 290550b  + 334800b + 960800
--R    --------------------------------------------------------,
--R                             669600
--R          8        6         4          2
--R    - 143b  + 2100b  + 10485b  - 290550b  - 334800b + 960800
--R    --------------------------------------------------------,
--R                             669600
--R
--R              9       8       7        6         5        4          3
--R         - 85b  + 116b  + 780b  - 2640b  + 14895b  + 8820b  - 127050b

--R       +
--R                2
--R         327000b  - 405200b - 2062400
--R    /
--R       1339200
--R     ]
--R                                                  Type: List(AlgebraicNumber)
--E 12
--S 13 of 28
(a1,a2,a3,a4,a5) := (roots.1,roots.2,roots.3,roots.4,roots.5)
--R
--R
--R   (13)
--R            9       8       7        6         5        4          3          2
--R       - 85b  + 116b  + 780b  - 2640b  + 14895b  + 8820b  - 127050b  + 327000b
--R     +
--R       - 405200b - 2062400
--R  /
--R     1339200
--R                                                        Type: AlgebraicNumber
--E 13
--S 14 of 28
eval(r,x,a1 - a2)
--R
--R
--R   (14)  0
--R                                            Type: Polynomial(AlgebraicNumber)
--E 14
--S 15 of 28
eval(r,x,a1 - a3)
--R
--R
--R   (15)
--R             9         8          7          6           5           4
--R       47905b  + 66920b  - 536100b  - 980400b  - 3345075b  - 5787000b
--R     +
--R                3             2
--R       75572250b  + 161688000b  - 184600000b - 710912000
--R  /
--R     4464
--R                                            Type: Polynomial(AlgebraicNumber)
--E 15
--S 16 of 28
eval(r,x,a1 - a4)
--R
--R

--R   (16)  0
--R                                            Type: Polynomial(AlgebraicNumber)
--E 16
--S 17 of 28
eval(r,x,a1 - a5)
--R
--R
--R             8        6         4          2
--R         405b  + 3450b  - 19875b  - 198000b  - 588000
--R   (17)  --------------------------------------------
--R                              31
--R                                            Type: Polynomial(AlgebraicNumber)
--E 17
--S 18 of 28
bb := a1 - a4
--R
--R
--R   (18)
--R          9       8       7        6         5         4          3          2
--R       85b  + 402b  - 780b  - 6840b  - 14895b  - 12150b  + 127050b  + 908100b
--R     +
--R       1074800b - 3984000
--R  /
--R     1339200
--R                                                        Type: AlgebraicNumber
--E 18
--S 19 of 28
aa1 := subst(a1,beta = bb)
--R
--R
--R               8        6         4          2
--R         - 143b  + 2100b  + 10485b  - 290550b  + 334800b + 960800
--R   (19)  --------------------------------------------------------
--R                                  669600
--R                                                        Type: AlgebraicNumber
--E 19
--S 20 of 28
aa2 := subst(a2,beta = bb)
--R
--R
--R   (20)
--R            9       8       7        6         5        4          3          2
--R       - 85b  + 116b  + 780b  - 2640b  + 14895b  + 8820b  - 127050b  + 327000b
--R     +
--R       - 405200b - 2062400
--R  /

--R     1339200
--R                                                        Type: AlgebraicNumber
--E 20
--S 21 of 28
aa3 := subst(a3,beta = bb)
--R
--R
--R   (21)
--R          9       8       7        6         5        4          3          2
--R       85b  + 116b  - 780b  - 2640b  - 14895b  + 8820b  + 127050b  + 327000b
--R     +
--R       405200b - 2062400
--R  /
--R     1339200
--R                                                        Type: AlgebraicNumber
--E 21
--S 22 of 28
aa4 := subst(a4,beta = bb)
--R
--R
--R               8        6         4          2
--R         - 143b  + 2100b  + 10485b  - 290550b  - 334800b + 960800
--R   (22)  --------------------------------------------------------
--R                                  669600
--R                                                        Type: AlgebraicNumber
--E 22
--S 23 of 28
aa5 := subst(a5,beta = bb)
--R
--R
--R            8       6        4         2
--R         17b  - 156b  - 2979b  + 25410b  + 14080
--R   (23)  ---------------------------------------
--R                          66960
--R                                                        Type: AlgebraicNumber
--E 23
--S 24 of 28
(aa1 = a1) :: Boolean
--R
--R
--R   (24)  false
--R                                                                Type: Boolean
--E 24
--S 25 of 28
(aa1 = a2) :: Boolean

--R
--R
--R   (25)  false
--R                                                                Type: Boolean
--E 25
--S 26 of 28
(aa1 = a3) :: Boolean
--R
--R
--R   (26)  true
--R                                                                Type: Boolean
--E 26
--S 27 of 28
(aa1 = a4) :: Boolean
--R
--R
--R   (27)  false
--R                                                                Type: Boolean
--E 27
--S 28 of 28
(aa1 = a5) :: Boolean
--R
--R
--R   (28)  false
--R                                                                Type: Boolean
--E 28
)spool
)lisp (bye)

———-

References^{[1] nothing}

11