$SPAD/src/input arith.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool arith.output
)set message test on
)set message auto off
)clear all
--S 1 of 25
234+108
--R
--R
--R   (1)  342
--R                                                        Type: PositiveInteger
--E 1
--S 2 of 25
234*108
--R
--R
--R   (2)  25272
--R                                                        Type: PositiveInteger
--E 2
--S 3 of 25
234**108
--R
--R
--R   (3)
--R  7504341690759264167679309791024278941530727955934090653805060111651544673126_
--R   088300475695723868519539237537191538150810021660251720209488577129906170829_
--R   305169117495939513626114577980010503744097313250953950814884553019803764362_
--R   781777309157631769660459319296
--R                                                        Type: PositiveInteger
--E 3
--S 4 of 25
factor %
--R
--R
--R         108 216  108
--R   (4)  2   3   13

--R                                                      Type: Factored(Integer)
--E 4
--S 5 of 25
z := 1/2
--R
--R
--R        1
--R   (5)  -
--R        2
--R                                                      Type: Fraction(Integer)
--E 5
--S 6 of 25
v := (z + 1) ** 10
--R
--R
--R        59049
--R   (6)  -----
--R         1024
--R                                                      Type: Fraction(Integer)
--E 6
--S 7 of 25
1024 * %
--R
--R
--R   (7)  59049
--R                                                      Type: Fraction(Integer)
--E 7
--S 8 of 25
u := (x+1)**6
--R
--R
--R         6     5      4      3      2
--R   (8)  x  + 6x  + 15x  + 20x  + 15x  + 6x + 1
--R                                                    Type: Polynomial(Integer)
--E 8
--S 9 of 25
differentiate(u,x)
--R
--R
--R          5      4      3      2
--R   (9)  6x  + 30x  + 60x  + 60x  + 30x + 6
--R                                                    Type: Polynomial(Integer)
--E 9
-- factor %

)clear all
-- compute Fibonacci numbers
--S 10 of 25
fib(n | n = 0)  == 1
--R
--R                                                                   Type: Void
--E 10
--S 11 of 25
fib(n | n = 1)  == 1
--R
--R                                                                   Type: Void
--E 11
--S 12 of 25
fib(n | n > 1)  == fib(n-1) + fib(n-2)
--R
--R                                                                   Type: Void
--E 12
--S 13 of 25
fib 5
--R
--R   Compiling function fib with type Integer -> PositiveInteger
--R   Compiling function fib as a recurrence relation.
--R
--R   (4)  8
--R                                                        Type: PositiveInteger
--E 13
--S 14 of 25
fib 20
--R
--R
--R   (5)  10946
--R                                                        Type: PositiveInteger
--E 14
)clear all
-- compute Legendre polynomials
--S 15 of 25
leg(n | n = 0)  == 1
--R
--R                                                                   Type: Void
--E 15
--S 16 of 25
leg(n | n = 1)  == x

--R
--R                                                                   Type: Void
--E 16
--S 17 of 25
leg(n | n > 1)  == ((2*n-1)*x*leg(n-1)-(n-1)*leg(n-2))/n
--R
--R                                                                   Type: Void
--E 17
--S 18 of 25
leg 3
--R
--R   Compiling function leg with type Integer -> Polynomial(Fraction(
--R      Integer))
--R   Compiling function leg as a recurrence relation.
--R
--R        5  3   3
--R   (4)  - x  - - x
--R        2      2
--R                                          Type: Polynomial(Fraction(Integer))
--E 18
--S 19 of 25
leg 14
--R
--R
--R   (5)
--R     5014575  14   16900975  12   22309287  10   14549535  8   4849845  6
--R     ------- x   - -------- x   + -------- x   - -------- x  + ------- x
--R       2048          2048           2048           2048          2048
--R   +
--R       765765  4   45045  2    429
--R     - ------ x  + ----- x  - ----
--R        2048        2048      2048
--R                                          Type: Polynomial(Fraction(Integer))
--E 19
-- look at it as a polynomial with rational number coefficients
--% :: POLY FRAC INT
)clear all
-- several flavors of computing factorial
--S 20 of 25
fac1(n | n=1)   == 1
--R
--R                                                                   Type: Void
--E 20
--S 21 of 25

fac1(n | n > 1) == n*fac1(n-1)
--R
--R                                                                   Type: Void
--E 21
--S 22 of 25
fac2 n == if n = 1 then 1 else n*fac2(n-1)
--R
--R                                                                   Type: Void
--E 22
--S 23 of 25
fac3 n == reduce(*,[1..n])
--R
--R                                                                   Type: Void
--E 23
--S 24 of 25
fac1 10
--R
--R   Compiling function fac1 with type Integer -> Integer
--R   Compiling function fac1 as a recurrence relation.
--R
--R   (5)  3628800
--R                                                        Type: PositiveInteger
--E 24
--S 25 of 25
fac2 10
--R
--R   Compiling function fac2 with type Integer -> Integer
--R   Compiling function fac2 as a recurrence relation.
--R
--R   (6)  3628800
--R                                                        Type: PositiveInteger
--E 25
)spool
)lisp (bye)

———-

References^{[1] nothing}

8