$SPAD/src/input matrix1.input

Timothy Daly December 3, 2016

Abstract

Contents

2

1 License

— license —

--Copyright The Numerical Algorithms Group Limited 1991.

———-

— * —

)set break resume
)spool matrix1.output
)set message test on
)set message auto off
)clear all
--S 1 of 38
m : Matrix(Integer) := new(3,3,0)
--R
--R
--R        +0  0  0+
--R        |       |
--R   (1)  |0  0  0|
--R        |       |
--R        +0  0  0+
--R                                                        Type: Matrix(Integer)
--E 1
--S 2 of 38
setelt(m,2,3,5)
--R
--R
--R   (2)  5
--R                                                        Type: PositiveInteger
--E 2
--S 3 of 38
m(1,2) := 10
--R
--R
--R   (3)  10
--R                                                        Type: PositiveInteger
--E 3
--S 4 of 38
m
--R
--R
--R        +0  10  0+
--R        |        |
--R   (4)  |0  0   5|

--R        |        |
--R        +0  0   0+
--R                                                        Type: Matrix(Integer)
--E 4
--S 5 of 38
matrix [[1,2,3,4],[0,9,8,7]]
--R
--R
--R        +1  2  3  4+
--R   (5)  |          |
--R        +0  9  8  7+
--R                                                        Type: Matrix(Integer)
--E 5
--S 6 of 38
dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]
--R
--R
--R        +1  0   0   0   0 +
--R        |                 |
--R        |    2            |
--R        |0  x   0   0   0 |
--R        |                 |
--R        |        3        |
--R   (6)  |0  0   x   0   0 |
--R        |                 |
--R        |            4    |
--R        |0  0   0   x   0 |
--R        |                 |
--R        |                5|
--R        +0  0   0   0   x +
--R                                            Type: Matrix(Polynomial(Integer))
--E 6
--S 7 of 38
setRow!(dm,5,vector [1,1,1,1,1])
--R
--R
--R        +1  0   0   0   0+
--R        |                |
--R        |    2           |
--R        |0  x   0   0   0|
--R        |                |
--R   (7)  |        3       |
--R        |0  0   x   0   0|
--R        |                |
--R        |            4   |
--R        |0  0   0   x   0|
--R        |                |

--R        +1  1   1   1   1+
--R                                            Type: Matrix(Polynomial(Integer))
--E 7
--S 8 of 38
setColumn!(dm,2,vector [y,y,y,y,y])
--R
--R
--R        +1  y  0   0   0+
--R        |               |
--R        |0  y  0   0   0|
--R        |               |
--R        |       3       |
--R   (8)  |0  y  x   0   0|
--R        |               |
--R        |           4   |
--R        |0  y  0   x   0|
--R        |               |
--R        +1  y  1   1   1+
--R                                            Type: Matrix(Polynomial(Integer))
--E 8
--S 9 of 38
cdm := copy(dm)
--R
--R
--R        +1  y  0   0   0+
--R        |               |
--R        |0  y  0   0   0|
--R        |               |
--R        |       3       |
--R   (9)  |0  y  x   0   0|
--R        |               |
--R        |           4   |
--R        |0  y  0   x   0|
--R        |               |
--R        +1  y  1   1   1+
--R                                            Type: Matrix(Polynomial(Integer))
--E 9
--S 10 of 38
setelt(dm,4,1,1-x**7)
--R
--R
--R            7
--R   (10)  - x  + 1
--R                                                    Type: Polynomial(Integer)
--E 10
--S 11 of 38

[dm,cdm]
--R
--R
--R          +   1      y  0   0   0+ +1  y  0   0   0+
--R          |                      | |               |
--R          |   0      y  0   0   0| |0  y  0   0   0|
--R          |                      | |               |
--R          |              3       | |       3       |
--R   (11)  [|   0      y  x   0   0|,|0  y  x   0   0|]
--R          |                      | |               |
--R          |   7              4   | |           4   |
--R          |- x  + 1  y  0   x   0| |0  y  0   x   0|
--R          |                      | |               |
--R          +   1      y  1   1   1+ +1  y  1   1   1+
--R                                      Type: List(Matrix(Polynomial(Integer)))
--E 11
--S 12 of 38
subMatrix(dm,2,3,2,4)
--R
--R
--R         +y  0   0+
--R   (12)  |        |
--R         |    3   |
--R         +y  x   0+
--R                                            Type: Matrix(Polynomial(Integer))
--E 12
--S 13 of 38
d := diagonalMatrix [1.2,-1.3,1.4,-1.5]
--R
--R
--R         +1.2   0.0   0.0   0.0 +
--R         |                      |
--R         |0.0  - 1.3  0.0   0.0 |
--R   (13)  |                      |
--R         |0.0   0.0   1.4   0.0 |
--R         |                      |
--R         +0.0   0.0   0.0  - 1.5+
--R                                                          Type: Matrix(Float)
--E 13
--S 14 of 38
e := matrix [[6.7,9.11],[-31.33,67.19]]
--R
--R
--R         +  6.7    9.11 +
--R   (14)  |              |
--R         +- 31.33  67.19+
--R                                                          Type: Matrix(Float)

--E 14
--S 15 of 38
setsubMatrix!(d,1,2,e)
--R
--R
--R         +1.2    6.7    9.11    0.0 +
--R         |                          |
--R         |0.0  - 31.33  67.19   0.0 |
--R   (15)  |                          |
--R         |0.0    0.0     1.4    0.0 |
--R         |                          |
--R         +0.0    0.0     0.0   - 1.5+
--R                                                          Type: Matrix(Float)
--E 15
--S 16 of 38
d
--R
--R
--R         +1.2    6.7    9.11    0.0 +
--R         |                          |
--R         |0.0  - 31.33  67.19   0.0 |
--R   (16)  |                          |
--R         |0.0    0.0     1.4    0.0 |
--R         |                          |
--R         +0.0    0.0     0.0   - 1.5+
--R                                                          Type: Matrix(Float)
--E 16
--S 17 of 38
a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]
--R
--R
--R         +1  1  1+
--R         |-  -  -|
--R         |2  3  4|
--R   (17)  |       |
--R         |1  1  1|
--R         |-  -  -|
--R         +5  6  7+
--R                                              Type: Matrix(Fraction(Integer))
--E 17
--S 18 of 38
b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]
--R
--R
--R         +3   3    3+
--R         |-   -   --|

--R         |5   7   11|
--R   (18)  |          |
--R         | 3   3   3|
--R         |--  --  --|
--R         +13  17  19+
--R                                              Type: Matrix(Fraction(Integer))
--E 18
--S 19 of 38
horizConcat(a,b)
--R
--R
--R         +1  1  1  3   3    3+
--R         |-  -  -  -   -   --|
--R         |2  3  4  5   7   11|
--R   (19)  |                   |
--R         |1  1  1   3   3   3|
--R         |-  -  -  --  --  --|
--R         +5  6  7  13  17  19+
--R                                              Type: Matrix(Fraction(Integer))
--E 19
--S 20 of 38
vab := vertConcat(a,b)
--R
--R
--R         +1   1   1 +
--R         |-   -   - |
--R         |2   3   4 |
--R         |          |
--R         |1   1   1 |
--R         |-   -   - |
--R         |5   6   7 |
--R   (20)  |          |
--R         |3   3    3|
--R         |-   -   --|
--R         |5   7   11|
--R         |          |
--R         | 3   3   3|
--R         |--  --  --|
--R         +13  17  19+
--R                                              Type: Matrix(Fraction(Integer))
--E 20
--S 21 of 38
transpose vab
--R
--R
--R         +1  1  3    3+
--R         |-  -  -   --|

--R         |2  5  5   13|
--R         |            |
--R         |1  1  3    3|
--R   (21)  |-  -  -   --|
--R         |3  6  7   17|
--R         |            |
--R         |1  1   3   3|
--R         |-  -  --  --|
--R         +4  7  11  19+
--R                                              Type: Matrix(Fraction(Integer))
--E 21
)clear all
--S 22 of 38
m := matrix [[1,2],[3,4]]
--R
--R
--R        +1  2+
--R   (1)  |    |
--R        +3  4+
--R                                                        Type: Matrix(Integer)
--E 22
--S 23 of 38
4 * m * (-5)
--R
--R
--R        +- 20  - 40+
--R   (2)  |          |
--R        +- 60  - 80+
--R                                                        Type: Matrix(Integer)
--E 23
--S 24 of 38
n := matrix([[1,0,-2],[-3,5,1]])
--R
--R
--R        + 1   0  - 2+
--R   (3)  |           |
--R        +- 3  5   1 +
--R                                                        Type: Matrix(Integer)
--E 24
--S 25 of 38
m * n
--R
--R
--R        +- 5  10   0 +
--R   (4)  |            |

--R        +- 9  20  - 2+
--R                                                        Type: Matrix(Integer)
--E 25
--S 26 of 38
vec := column(n,3)
--R
--R
--R   (5)  [- 2,1]
--R                                                        Type: Vector(Integer)
--E 26
--S 27 of 38
vec * m
--R
--R
--R   (6)  [1,0]
--R                                                        Type: Vector(Integer)
--E 27
--S 28 of 38
m * vec
--R
--R
--R   (7)  [0,- 2]
--R                                                        Type: Vector(Integer)
--E 28
--S 29 of 38
hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])
--R
--R
--R        +1  1  1+
--R        |-  -  -|
--R        |2  3  4|
--R        |       |
--R        |1  1  1|
--R   (8)  |-  -  -|
--R        |3  4  5|
--R        |       |
--R        |1  1  1|
--R        |-  -  -|
--R        +4  5  6+
--R                                              Type: Matrix(Fraction(Integer))
--E 29
--S 30 of 38
inverse(hilb)
--R
--R

--R        + 72    - 240   180 +
--R        |                   |
--R   (9)  |- 240   900   - 720|
--R        |                   |
--R        + 180   - 720   600 +
--R                                   Type: Union(Matrix(Fraction(Integer)),...)
--E 30
--S 31 of 38
mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])
--R
--R
--R         +1   2   3   4 +
--R         |              |
--R         |5   6   7   8 |
--R   (10)  |              |
--R         |9   10  11  12|
--R         |              |
--R         +13  14  15  16+
--R                                                        Type: Matrix(Integer)
--E 31
--S 32 of 38
inverse(mm)
--R
--R
--R   (11)  "failed"
--R                                                    Type: Union("failed",...)
--E 32
--S 33 of 38
determinant(mm)
--R
--R
--R   (12)  0
--R                                                     Type: NonNegativeInteger
--E 33
--S 34 of 38
trace(mm)
--R
--R
--R   (13)  34
--R                                                        Type: PositiveInteger
--E 34
--S 35 of 38
rank(mm)
--R
--R

--R   (14)  2
--R                                                        Type: PositiveInteger
--E 35
--S 36 of 38
nullity(mm)
--R
--R
--R   (15)  2
--R                                                        Type: PositiveInteger
--E 36
--S 37 of 38
nullSpace(mm)
--R
--R
--R   (16)  [[1,- 2,1,0],[2,- 3,0,1]]
--R                                                  Type: List(Vector(Integer))
--E 37
--S 38 of 38
rowEchelon(mm)
--R
--R
--R         +1  2  3  4 +
--R         |           |
--R         |0  4  8  12|
--R   (17)  |           |
--R         |0  0  0  0 |
--R         |           |
--R         +0  0  0  0 +
--R                                                        Type: Matrix(Integer)
--E 38
)spool
)lisp (bye)

———-

References^{[1] nothing}

13