$SPAD/src/input op1.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool op1.output
)set message test on
)set message auto off
)clear all
--S 1 of 21
R := SQMATRIX(2, INT)
--R
--R
--R   (1)  SquareMatrix(2,Integer)
--R                                                                 Type: Domain
--E 1
--S 2 of 21
t := operator("tilde") :: OP(R)
--R
--R
--R   (2)  tilde
--R                                      Type: Operator(SquareMatrix(2,Integer))
--E 2
--S 3 of 21
)set expose add constructor Operator
--R
--R   Operator is now explicitly exposed in frame initial
--E 3
--S 4 of 21
evaluate(t, m +-> transpose m)
--R
--R
--R   (3)  tilde
--R                                      Type: Operator(SquareMatrix(2,Integer))
--E 4
--S 5 of 21
s : R := matrix [[0, 1], [1, 0]]
--R
--R
--R        +0  1+

--R   (4)  |    |
--R        +1  0+
--R                                                Type: SquareMatrix(2,Integer)
--E 5
--S 6 of 21
rho := t * s
--R
--R
--R             +0  1+
--R   (5)  tilde|    |
--R             +1  0+
--R                                      Type: Operator(SquareMatrix(2,Integer))
--E 6
--S 7 of 21
z := rho**4 - 1
--R
--R
--R                   +0  1+     +0  1+     +0  1+     +0  1+
--R   (6)  - 1 + tilde|    |tilde|    |tilde|    |tilde|    |
--R                   +1  0+     +1  0+     +1  0+     +1  0+
--R                                      Type: Operator(SquareMatrix(2,Integer))
--E 7
--S 8 of 21
m:R := matrix [[1, 2], [3, 4]]
--R
--R
--R        +1  2+
--R   (7)  |    |
--R        +3  4+
--R                                                Type: SquareMatrix(2,Integer)
--E 8
--S 9 of 21
z m
--R
--R
--R        +0  0+
--R   (8)  |    |
--R        +0  0+
--R                                                Type: SquareMatrix(2,Integer)
--E 9
--S 10 of 21
rho m
--R
--R
--R        +3  1+

--R   (9)  |    |
--R        +4  2+
--R                                                Type: SquareMatrix(2,Integer)
--E 10
--S 11 of 21
rho rho m
--R
--R
--R         +4  3+
--R   (10)  |    |
--R         +2  1+
--R                                                Type: SquareMatrix(2,Integer)
--E 11
--S 12 of 21
(rho**3) m
--R
--R
--R         +2  4+
--R   (11)  |    |
--R         +1  3+
--R                                                Type: SquareMatrix(2,Integer)
--E 12
--S 13 of 21
b := t * s - s * t
--R
--R
--R           +0  1+             +0  1+
--R   (12)  - |    |tilde + tilde|    |
--R           +1  0+             +1  0+
--R                                      Type: Operator(SquareMatrix(2,Integer))
--E 13
--S 14 of 21
b m
--R
--R
--R         +1  - 3+
--R   (13)  |      |
--R         +3  - 1+
--R                                                Type: SquareMatrix(2,Integer)
--E 14
--S 15 of 21
L n ==
  n = 0 => 1
  n = 1 => x
  (2*n-1)/n * x * L(n-1) - (n-1)/n * L(n-2)

--R
--R                                                                   Type: Void
--E 15
--S 16 of 21
dx := operator("D") :: OP(POLY FRAC INT)
--R
--R
--R   (15)  D
--R                                Type: Operator(Polynomial(Fraction(Integer)))
--E 16
--S 17 of 21
evaluate(dx, p +-> D(p, 'x))
--R
--R
--R   (16)  D
--R                                Type: Operator(Polynomial(Fraction(Integer)))
--E 17
--S 18 of 21
E n == (1 - x**2) * dx**2 - 2 * x * dx + n*(n+1)
--R
--R                                                                   Type: Void
--E 18
--S 19 of 21
L 15
--R
--R   Compiling function L with type Integer -> Polynomial(Fraction(
--R      Integer))
--R   Compiling function L as a recurrence relation.
--R
--R   (18)
--R     9694845  15   35102025  13   50702925  11   37182145  9   14549535  7
--R     ------- x   - -------- x   + -------- x   - -------- x  + -------- x
--R       2048          2048           2048           2048          2048
--R   +
--R       2909907  5   255255  3   6435
--R     - ------- x  + ------ x  - ---- x
--R         2048        2048       2048
--R                                          Type: Polynomial(Fraction(Integer))
--E 18
--S 20 of 21
E 15
--R
--R   Compiling function E with type PositiveInteger -> Operator(
--R      Polynomial(Fraction(Integer)))
--R

--R                        2      2
--R   (19)  240 - 2x D - (x  - 1)D
--R                                Type: Operator(Polynomial(Fraction(Integer)))
--E 20
--S 21 of 21
(E 15)(L 15)
--R
--R
--R   (20)  0
--R                                          Type: Polynomial(Fraction(Integer))
--E 21
)spool
)lisp (bye)

———-

References^{[1] nothing}

8