aboutsummaryrefslogtreecommitdiff
path: root/src/input/matrix.input.pamphlet
blob: 3b4e50a53bdfd8b235a09bf36d891f1c5d2f1a24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
\documentclass{article}
\usepackage{axiom}
\begin{document}
\title{\$SPAD/src/input matrix.input}
\author{The Axiom Team}
\maketitle
\begin{abstract}
\end{abstract}
\eject
\tableofcontents
\eject
\section{License}
<<license>>=
--Copyright The Numerical Algorithms Group Limited 1991.
@
<<*>>=
<<license>>

)cl all
 
-- A number of matrix computations over the integers and over the
-- rationals using various algortihms and indexing schemes.
 
-- Hilbert matrix
 
mat : MATRIX FRAC INT := matrix [[1/(i + j) for i in 1..5] for j in 1..5]
matinv := inverse mat
mat * matinv
 
-- same computation, different indexing
 
mat1 : IMATRIX(FRAC INT,-3,47) := _
   matrix [[1/(i + j) for i in 1..5] for j in 1..5]
mat1inv := inverse mat1
mat1 * mat1inv
 
-- Vandermonde determinant
 
mat2 : MATRIX INT := matrix [[j**i for i in 0..4] for j in 1..5]
rowEchelon  mat2
determinant mat2
minordet    mat2
 
-- same computation, different indexing
 
mat3 : IMATRIX(INT,13,-7) := _
   matrix [[j**i for i in 0..4] for j in 1..5]
rowEchelon  mat3
determinant mat3
minordet    mat3
 
-- same computation, work over the rationals
 
mat4 : MATRIX FRAC INT := matrix [[j**i for i in 0..4] for j in 1..5]
rowEchelon  mat4
determinant mat4
minordet    mat4
 
-- same computation, different indexing
 
mat5 : IMATRIX(FRAC INT,-113,37) := _
   matrix [[j**i for i in 0..4] for j in 1..5]
rowEchelon  mat5
determinant mat5
minordet    mat5
 
mat6 : MATRIX INT := matrix [[1,2,3],[4,5,6],[7,8,9]]
rowEchelon mat6
rank       mat6
nullity    mat6
nullSpace  mat6
 
mat7 : IMATRIX(FRAC INT,163,61657) := matrix [[1,2,3],[4,5,6],[7,8,9]]
rowEchelon mat7
rank       mat7
nullity    mat7
nullSpace  mat7
 
mat8 : MATRIX INT := _
 matrix [[1,-2,13,0,5,-47],[-4,15,0,16,-2,1],[-7,0,8,-11,9,0]]
rowEchelon mat8
rank       mat8
nullity    mat8
nullSpace  mat8
 
mat9 : IMATRIX(FRAC INT,163,61657) := _
 matrix [[1,-2,13,0,5,-47],[-4,15,0,16,-2,1],[-7,0,8,-11,9,0]]
rowEchelon mat9
rank       mat9
nullity    mat9
nullSpace  mat9
@
\eject
\begin{thebibliography}{99}
\bibitem{1} nothing
\end{thebibliography}
\end{document}