aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/MATRIX.pht
diff options
context:
space:
mode:
Diffstat (limited to 'src/hyper/pages/MATRIX.pht')
-rw-r--r--src/hyper/pages/MATRIX.pht771
1 files changed, 771 insertions, 0 deletions
diff --git a/src/hyper/pages/MATRIX.pht b/src/hyper/pages/MATRIX.pht
new file mode 100644
index 00000000..4c5d611a
--- /dev/null
+++ b/src/hyper/pages/MATRIX.pht
@@ -0,0 +1,771 @@
+\begin{patch}{ugxMatrixOpsPagePatch1}
+\begin{paste}{ugxMatrixOpsPageFull1}{ugxMatrixOpsPageEmpty1}
+\pastebutton{ugxMatrixOpsPageFull1}{\hidepaste}
+\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }}
+\indentrel{3}\begin{verbatim}
+ Ú1 2¿
+ (1) ³ ³
+ À3 4Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty1}
+\begin{paste}{ugxMatrixOpsPageEmpty1}{ugxMatrixOpsPagePatch1}
+\pastebutton{ugxMatrixOpsPageEmpty1}{\showpaste}
+\tab{5}\spadcommand{m := matrix [[1,2],[3,4]]\bound{m }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch2}
+\begin{paste}{ugxMatrixOpsPageFull2}{ugxMatrixOpsPageEmpty2}
+\pastebutton{ugxMatrixOpsPageFull2}{\hidepaste}
+\tab{5}\spadcommand{4 * m * (-5)\free{m }}
+\indentrel{3}\begin{verbatim}
+ Ú- 20 - 40¿
+ (2) ³ ³
+ À- 60 - 80Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty2}
+\begin{paste}{ugxMatrixOpsPageEmpty2}{ugxMatrixOpsPagePatch2}
+\pastebutton{ugxMatrixOpsPageEmpty2}{\showpaste}
+\tab{5}\spadcommand{4 * m * (-5)\free{m }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch3}
+\begin{paste}{ugxMatrixOpsPageFull3}{ugxMatrixOpsPageEmpty3}
+\pastebutton{ugxMatrixOpsPageFull3}{\hidepaste}
+\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }}
+\indentrel{3}\begin{verbatim}
+ Ú 1 0 - 2¿
+ (3) ³ ³
+ À- 3 5 1 Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty3}
+\begin{paste}{ugxMatrixOpsPageEmpty3}{ugxMatrixOpsPagePatch3}
+\pastebutton{ugxMatrixOpsPageEmpty3}{\showpaste}
+\tab{5}\spadcommand{n := matrix([[1,0,-2],[-3,5,1]])\bound{n }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch4}
+\begin{paste}{ugxMatrixOpsPageFull4}{ugxMatrixOpsPageEmpty4}
+\pastebutton{ugxMatrixOpsPageFull4}{\hidepaste}
+\tab{5}\spadcommand{m * n\free{m n }}
+\indentrel{3}\begin{verbatim}
+ Ú- 5 10 0 ¿
+ (4) ³ ³
+ À- 9 20 - 2Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty4}
+\begin{paste}{ugxMatrixOpsPageEmpty4}{ugxMatrixOpsPagePatch4}
+\pastebutton{ugxMatrixOpsPageEmpty4}{\showpaste}
+\tab{5}\spadcommand{m * n\free{m n }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch5}
+\begin{paste}{ugxMatrixOpsPageFull5}{ugxMatrixOpsPageEmpty5}
+\pastebutton{ugxMatrixOpsPageFull5}{\hidepaste}
+\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }}
+\indentrel{3}\begin{verbatim}
+ (5) [- 2,1]
+ Type: Vector Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty5}
+\begin{paste}{ugxMatrixOpsPageEmpty5}{ugxMatrixOpsPagePatch5}
+\pastebutton{ugxMatrixOpsPageEmpty5}{\showpaste}
+\tab{5}\spadcommand{vec := column(n,3)\free{n }\bound{vec }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch6}
+\begin{paste}{ugxMatrixOpsPageFull6}{ugxMatrixOpsPageEmpty6}
+\pastebutton{ugxMatrixOpsPageFull6}{\hidepaste}
+\tab{5}\spadcommand{vec * m\free{vec m }}
+\indentrel{3}\begin{verbatim}
+ (6) [1,0]
+ Type: Vector Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty6}
+\begin{paste}{ugxMatrixOpsPageEmpty6}{ugxMatrixOpsPagePatch6}
+\pastebutton{ugxMatrixOpsPageEmpty6}{\showpaste}
+\tab{5}\spadcommand{vec * m\free{vec m }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch7}
+\begin{paste}{ugxMatrixOpsPageFull7}{ugxMatrixOpsPageEmpty7}
+\pastebutton{ugxMatrixOpsPageFull7}{\hidepaste}
+\tab{5}\spadcommand{m * vec\free{vec m }}
+\indentrel{3}\begin{verbatim}
+ (7) [0,- 2]
+ Type: Vector Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty7}
+\begin{paste}{ugxMatrixOpsPageEmpty7}{ugxMatrixOpsPagePatch7}
+\pastebutton{ugxMatrixOpsPageEmpty7}{\showpaste}
+\tab{5}\spadcommand{m * vec\free{vec m }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch8}
+\begin{paste}{ugxMatrixOpsPageFull8}{ugxMatrixOpsPageEmpty8}
+\pastebutton{ugxMatrixOpsPageFull8}{\hidepaste}
+\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }}
+\indentrel{3}\begin{verbatim}
+ Ú1 1 1¿
+ ³Ä Ä Ä³
+ ³2 3 4³
+ ³ ³
+ ³1 1 1³
+ (8) ³Ä Ä Ä³
+ ³3 4 5³
+ ³ ³
+ ³1 1 1³
+ ³Ä Ä Ä³
+ À4 5 6Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty8}
+\begin{paste}{ugxMatrixOpsPageEmpty8}{ugxMatrixOpsPagePatch8}
+\pastebutton{ugxMatrixOpsPageEmpty8}{\showpaste}
+\tab{5}\spadcommand{hilb := matrix([[1/(i + j) for i in 1..3] for j in 1..3])\bound{hilb }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch9}
+\begin{paste}{ugxMatrixOpsPageFull9}{ugxMatrixOpsPageEmpty9}
+\pastebutton{ugxMatrixOpsPageFull9}{\hidepaste}
+\tab{5}\spadcommand{inverse(hilb)\free{hilb }}
+\indentrel{3}\begin{verbatim}
+ Ú 72 - 240 180 ¿
+ ³ ³
+ (9) ³- 240 900 - 720³
+ ³ ³
+ À 180 - 720 600 Ù
+ Type: Union(Matrix Fraction Integer,...)
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty9}
+\begin{paste}{ugxMatrixOpsPageEmpty9}{ugxMatrixOpsPagePatch9}
+\pastebutton{ugxMatrixOpsPageEmpty9}{\showpaste}
+\tab{5}\spadcommand{inverse(hilb)\free{hilb }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch10}
+\begin{paste}{ugxMatrixOpsPageFull10}{ugxMatrixOpsPageEmpty10}
+\pastebutton{ugxMatrixOpsPageFull10}{\hidepaste}
+\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }}
+\indentrel{3}\begin{verbatim}
+ Ú1 2 3 4 ¿
+ ³ ³
+ ³5 6 7 8 ³
+ (10) ³ ³
+ ³9 10 11 12³
+ ³ ³
+ À13 14 15 16Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty10}
+\begin{paste}{ugxMatrixOpsPageEmpty10}{ugxMatrixOpsPagePatch10}
+\pastebutton{ugxMatrixOpsPageEmpty10}{\showpaste}
+\tab{5}\spadcommand{mm := matrix([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])\bound{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch11}
+\begin{paste}{ugxMatrixOpsPageFull11}{ugxMatrixOpsPageEmpty11}
+\pastebutton{ugxMatrixOpsPageFull11}{\hidepaste}
+\tab{5}\spadcommand{inverse(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (11) "failed"
+ Type: Union("failed",...)
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty11}
+\begin{paste}{ugxMatrixOpsPageEmpty11}{ugxMatrixOpsPagePatch11}
+\pastebutton{ugxMatrixOpsPageEmpty11}{\showpaste}
+\tab{5}\spadcommand{inverse(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch12}
+\begin{paste}{ugxMatrixOpsPageFull12}{ugxMatrixOpsPageEmpty12}
+\pastebutton{ugxMatrixOpsPageFull12}{\hidepaste}
+\tab{5}\spadcommand{determinant(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (12) 0
+ Type: NonNegativeInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty12}
+\begin{paste}{ugxMatrixOpsPageEmpty12}{ugxMatrixOpsPagePatch12}
+\pastebutton{ugxMatrixOpsPageEmpty12}{\showpaste}
+\tab{5}\spadcommand{determinant(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch13}
+\begin{paste}{ugxMatrixOpsPageFull13}{ugxMatrixOpsPageEmpty13}
+\pastebutton{ugxMatrixOpsPageFull13}{\hidepaste}
+\tab{5}\spadcommand{trace(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (13) 34
+ Type: PositiveInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty13}
+\begin{paste}{ugxMatrixOpsPageEmpty13}{ugxMatrixOpsPagePatch13}
+\pastebutton{ugxMatrixOpsPageEmpty13}{\showpaste}
+\tab{5}\spadcommand{trace(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch14}
+\begin{paste}{ugxMatrixOpsPageFull14}{ugxMatrixOpsPageEmpty14}
+\pastebutton{ugxMatrixOpsPageFull14}{\hidepaste}
+\tab{5}\spadcommand{rank(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (14) 2
+ Type: PositiveInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty14}
+\begin{paste}{ugxMatrixOpsPageEmpty14}{ugxMatrixOpsPagePatch14}
+\pastebutton{ugxMatrixOpsPageEmpty14}{\showpaste}
+\tab{5}\spadcommand{rank(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch15}
+\begin{paste}{ugxMatrixOpsPageFull15}{ugxMatrixOpsPageEmpty15}
+\pastebutton{ugxMatrixOpsPageFull15}{\hidepaste}
+\tab{5}\spadcommand{nullity(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (15) 2
+ Type: PositiveInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty15}
+\begin{paste}{ugxMatrixOpsPageEmpty15}{ugxMatrixOpsPagePatch15}
+\pastebutton{ugxMatrixOpsPageEmpty15}{\showpaste}
+\tab{5}\spadcommand{nullity(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch16}
+\begin{paste}{ugxMatrixOpsPageFull16}{ugxMatrixOpsPageEmpty16}
+\pastebutton{ugxMatrixOpsPageFull16}{\hidepaste}
+\tab{5}\spadcommand{nullSpace(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ (16) [[1,- 2,1,0],[2,- 3,0,1]]
+ Type: List Vector Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty16}
+\begin{paste}{ugxMatrixOpsPageEmpty16}{ugxMatrixOpsPagePatch16}
+\pastebutton{ugxMatrixOpsPageEmpty16}{\showpaste}
+\tab{5}\spadcommand{nullSpace(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPagePatch17}
+\begin{paste}{ugxMatrixOpsPageFull17}{ugxMatrixOpsPageEmpty17}
+\pastebutton{ugxMatrixOpsPageFull17}{\hidepaste}
+\tab{5}\spadcommand{rowEchelon(mm)\free{mm }}
+\indentrel{3}\begin{verbatim}
+ Ú1 2 3 4 ¿
+ ³ ³
+ ³0 4 8 12³
+ (17) ³ ³
+ ³0 0 0 0 ³
+ ³ ³
+ À0 0 0 0 Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixOpsPageEmpty17}
+\begin{paste}{ugxMatrixOpsPageEmpty17}{ugxMatrixOpsPagePatch17}
+\pastebutton{ugxMatrixOpsPageEmpty17}{\showpaste}
+\tab{5}\spadcommand{rowEchelon(mm)\free{mm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch1}
+\begin{paste}{ugxMatrixCreatePageFull1}{ugxMatrixCreatePageEmpty1}
+\pastebutton{ugxMatrixCreatePageFull1}{\hidepaste}
+\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }}
+\indentrel{3}\begin{verbatim}
+ Ú0 0 0¿
+ ³ ³
+ (1) ³0 0 0³
+ ³ ³
+ À0 0 0Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty1}
+\begin{paste}{ugxMatrixCreatePageEmpty1}{ugxMatrixCreatePagePatch1}
+\pastebutton{ugxMatrixCreatePageEmpty1}{\showpaste}
+\tab{5}\spadcommand{m : Matrix(Integer) := new(3,3,0)\bound{m }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch2}
+\begin{paste}{ugxMatrixCreatePageFull2}{ugxMatrixCreatePageEmpty2}
+\pastebutton{ugxMatrixCreatePageFull2}{\hidepaste}
+\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }}
+\indentrel{3}\begin{verbatim}
+ (2) 5
+ Type: PositiveInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty2}
+\begin{paste}{ugxMatrixCreatePageEmpty2}{ugxMatrixCreatePagePatch2}
+\pastebutton{ugxMatrixCreatePageEmpty2}{\showpaste}
+\tab{5}\spadcommand{setelt(m,2,3,5)\free{m }\bound{m1 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch3}
+\begin{paste}{ugxMatrixCreatePageFull3}{ugxMatrixCreatePageEmpty3}
+\pastebutton{ugxMatrixCreatePageFull3}{\hidepaste}
+\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }}
+\indentrel{3}\begin{verbatim}
+ (3) 10
+ Type: PositiveInteger
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty3}
+\begin{paste}{ugxMatrixCreatePageEmpty3}{ugxMatrixCreatePagePatch3}
+\pastebutton{ugxMatrixCreatePageEmpty3}{\showpaste}
+\tab{5}\spadcommand{m(1,2) := 10\free{m1 }\bound{m2 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch4}
+\begin{paste}{ugxMatrixCreatePageFull4}{ugxMatrixCreatePageEmpty4}
+\pastebutton{ugxMatrixCreatePageFull4}{\hidepaste}
+\tab{5}\spadcommand{m\free{m2 }}
+\indentrel{3}\begin{verbatim}
+ Ú0 10 0¿
+ ³ ³
+ (4) ³0 0 5³
+ ³ ³
+ À0 0 0Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty4}
+\begin{paste}{ugxMatrixCreatePageEmpty4}{ugxMatrixCreatePagePatch4}
+\pastebutton{ugxMatrixCreatePageEmpty4}{\showpaste}
+\tab{5}\spadcommand{m\free{m2 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch5}
+\begin{paste}{ugxMatrixCreatePageFull5}{ugxMatrixCreatePageEmpty5}
+\pastebutton{ugxMatrixCreatePageFull5}{\hidepaste}
+\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]}
+\indentrel{3}\begin{verbatim}
+ Ú1 2 3 4¿
+ (5) ³ ³
+ À0 9 8 7Ù
+ Type: Matrix Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty5}
+\begin{paste}{ugxMatrixCreatePageEmpty5}{ugxMatrixCreatePagePatch5}
+\pastebutton{ugxMatrixCreatePageEmpty5}{\showpaste}
+\tab{5}\spadcommand{matrix [[1,2,3,4],[0,9,8,7]]}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch6}
+\begin{paste}{ugxMatrixCreatePageFull6}{ugxMatrixCreatePageEmpty6}
+\pastebutton{ugxMatrixCreatePageFull6}{\hidepaste}
+\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }}
+\indentrel{3}\begin{verbatim}
+ Ú1 0 0 0 0 ¿
+ ³ ³
+ ³ 2 ³
+ ³0 x 0 0 0 ³
+ ³ ³
+ ³ 3 ³
+ (6) ³0 0 x 0 0 ³
+ ³ ³
+ ³ 4 ³
+ ³0 0 0 x 0 ³
+ ³ ³
+ ³ 5³
+ À0 0 0 0 x Ù
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty6}
+\begin{paste}{ugxMatrixCreatePageEmpty6}{ugxMatrixCreatePagePatch6}
+\pastebutton{ugxMatrixCreatePageEmpty6}{\showpaste}
+\tab{5}\spadcommand{dm := diagonalMatrix [1,x**2,x**3,x**4,x**5]\bound{dm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch7}
+\begin{paste}{ugxMatrixCreatePageFull7}{ugxMatrixCreatePageEmpty7}
+\pastebutton{ugxMatrixCreatePageFull7}{\hidepaste}
+\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }}
+\indentrel{3}\begin{verbatim}
+ Ú1 0 0 0 0¿
+ ³ ³
+ ³ 2 ³
+ ³0 x 0 0 0³
+ ³ ³
+ (7) ³ 3 ³
+ ³0 0 x 0 0³
+ ³ ³
+ ³ 4 ³
+ ³0 0 0 x 0³
+ ³ ³
+ À1 1 1 1 1Ù
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty7}
+\begin{paste}{ugxMatrixCreatePageEmpty7}{ugxMatrixCreatePagePatch7}
+\pastebutton{ugxMatrixCreatePageEmpty7}{\showpaste}
+\tab{5}\spadcommand{setRow!(dm,5,vector [1,1,1,1,1])\free{dm }\bound{dm1 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch8}
+\begin{paste}{ugxMatrixCreatePageFull8}{ugxMatrixCreatePageEmpty8}
+\pastebutton{ugxMatrixCreatePageFull8}{\hidepaste}
+\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }}
+\indentrel{3}\begin{verbatim}
+ Ú1 y 0 0 0¿
+ ³ ³
+ ³0 y 0 0 0³
+ ³ ³
+ ³ 3 ³
+ (8) ³0 y x 0 0³
+ ³ ³
+ ³ 4 ³
+ ³0 y 0 x 0³
+ ³ ³
+ À1 y 1 1 1Ù
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty8}
+\begin{paste}{ugxMatrixCreatePageEmpty8}{ugxMatrixCreatePagePatch8}
+\pastebutton{ugxMatrixCreatePageEmpty8}{\showpaste}
+\tab{5}\spadcommand{setColumn!(dm,2,vector [y,y,y,y,y])\free{dm1 }\bound{dm2 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch9}
+\begin{paste}{ugxMatrixCreatePageFull9}{ugxMatrixCreatePageEmpty9}
+\pastebutton{ugxMatrixCreatePageFull9}{\hidepaste}
+\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }}
+\indentrel{3}\begin{verbatim}
+ Ú1 y 0 0 0¿
+ ³ ³
+ ³0 y 0 0 0³
+ ³ ³
+ ³ 3 ³
+ (9) ³0 y x 0 0³
+ ³ ³
+ ³ 4 ³
+ ³0 y 0 x 0³
+ ³ ³
+ À1 y 1 1 1Ù
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty9}
+\begin{paste}{ugxMatrixCreatePageEmpty9}{ugxMatrixCreatePagePatch9}
+\pastebutton{ugxMatrixCreatePageEmpty9}{\showpaste}
+\tab{5}\spadcommand{cdm := copy(dm)\free{dm2 }\bound{cdm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch10}
+\begin{paste}{ugxMatrixCreatePageFull10}{ugxMatrixCreatePageEmpty10}
+\pastebutton{ugxMatrixCreatePageFull10}{\hidepaste}
+\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }}
+\indentrel{3}\begin{verbatim}
+ 7
+ (10) - x + 1
+ Type: Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty10}
+\begin{paste}{ugxMatrixCreatePageEmpty10}{ugxMatrixCreatePagePatch10}
+\pastebutton{ugxMatrixCreatePageEmpty10}{\showpaste}
+\tab{5}\spadcommand{setelt(dm,4,1,1-x**7)\free{dm2 }\bound{setdm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch11}
+\begin{paste}{ugxMatrixCreatePageFull11}{ugxMatrixCreatePageEmpty11}
+\pastebutton{ugxMatrixCreatePageFull11}{\hidepaste}
+\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }}
+\indentrel{3}\begin{verbatim}
+ Ú 1 y 0 0 0¿ Ú1 y 0 0 0¿
+ ³ ³ ³ ³
+ ³ 0 y 0 0 0³ ³0 y 0 0 0³
+ ³ ³ ³ ³
+ ³ 3 ³ ³ 3 ³
+ (11) [³ 0 y x 0 0³,³0 y x 0 0³]
+ ³ ³ ³ ³
+ ³ 7 4 ³ ³ 4 ³
+ ³- x + 1 y 0 x 0³ ³0 y 0 x 0³
+ ³ ³ ³ ³
+ À 1 y 1 1 1Ù À1 y 1 1 1Ù
+ Type: List Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty11}
+\begin{paste}{ugxMatrixCreatePageEmpty11}{ugxMatrixCreatePagePatch11}
+\pastebutton{ugxMatrixCreatePageEmpty11}{\showpaste}
+\tab{5}\spadcommand{[dm,cdm]\free{setdm cdm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch12}
+\begin{paste}{ugxMatrixCreatePageFull12}{ugxMatrixCreatePageEmpty12}
+\pastebutton{ugxMatrixCreatePageFull12}{\hidepaste}
+\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }}
+\indentrel{3}\begin{verbatim}
+ Úy 0 0¿
+ (12) ³ ³
+ ³ 3 ³
+ Ày x 0Ù
+ Type: Matrix Polynomial Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty12}
+\begin{paste}{ugxMatrixCreatePageEmpty12}{ugxMatrixCreatePagePatch12}
+\pastebutton{ugxMatrixCreatePageEmpty12}{\showpaste}
+\tab{5}\spadcommand{subMatrix(dm,2,3,2,4)\free{setdm }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch13}
+\begin{paste}{ugxMatrixCreatePageFull13}{ugxMatrixCreatePageEmpty13}
+\pastebutton{ugxMatrixCreatePageFull13}{\hidepaste}
+\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }}
+\indentrel{3}\begin{verbatim}
+ Ú1.2 0.0 0.0 0.0 ¿
+ ³ ³
+ ³0.0 - 1.3 0.0 0.0 ³
+ (13) ³ ³
+ ³0.0 0.0 1.4 0.0 ³
+ ³ ³
+ À0.0 0.0 0.0 - 1.5Ù
+ Type: Matrix Float
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty13}
+\begin{paste}{ugxMatrixCreatePageEmpty13}{ugxMatrixCreatePagePatch13}
+\pastebutton{ugxMatrixCreatePageEmpty13}{\showpaste}
+\tab{5}\spadcommand{d := diagonalMatrix [1.2,-1.3,1.4,-1.5]\bound{d }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch14}
+\begin{paste}{ugxMatrixCreatePageFull14}{ugxMatrixCreatePageEmpty14}
+\pastebutton{ugxMatrixCreatePageFull14}{\hidepaste}
+\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }}
+\indentrel{3}\begin{verbatim}
+ Ú 6.7 9.11 ¿
+ (14) ³ ³
+ À- 31.33 67.19Ù
+ Type: Matrix Float
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty14}
+\begin{paste}{ugxMatrixCreatePageEmpty14}{ugxMatrixCreatePagePatch14}
+\pastebutton{ugxMatrixCreatePageEmpty14}{\showpaste}
+\tab{5}\spadcommand{e := matrix [[6.7,9.11],[-31.33,67.19]]\bound{e }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch15}
+\begin{paste}{ugxMatrixCreatePageFull15}{ugxMatrixCreatePageEmpty15}
+\pastebutton{ugxMatrixCreatePageFull15}{\hidepaste}
+\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }}
+\indentrel{3}\begin{verbatim}
+ Ú1.2 6.7 9.11 0.0 ¿
+ ³ ³
+ ³0.0 - 31.33 67.19 0.0 ³
+ (15) ³ ³
+ ³0.0 0.0 1.4 0.0 ³
+ ³ ³
+ À0.0 0.0 0.0 - 1.5Ù
+ Type: Matrix Float
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty15}
+\begin{paste}{ugxMatrixCreatePageEmpty15}{ugxMatrixCreatePagePatch15}
+\pastebutton{ugxMatrixCreatePageEmpty15}{\showpaste}
+\tab{5}\spadcommand{setsubMatrix!(d,1,2,e)\free{d e }\bound{d1 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch16}
+\begin{paste}{ugxMatrixCreatePageFull16}{ugxMatrixCreatePageEmpty16}
+\pastebutton{ugxMatrixCreatePageFull16}{\hidepaste}
+\tab{5}\spadcommand{d\free{d1 }}
+\indentrel{3}\begin{verbatim}
+ Ú1.2 6.7 9.11 0.0 ¿
+ ³ ³
+ ³0.0 - 31.33 67.19 0.0 ³
+ (16) ³ ³
+ ³0.0 0.0 1.4 0.0 ³
+ ³ ³
+ À0.0 0.0 0.0 - 1.5Ù
+ Type: Matrix Float
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty16}
+\begin{paste}{ugxMatrixCreatePageEmpty16}{ugxMatrixCreatePagePatch16}
+\pastebutton{ugxMatrixCreatePageEmpty16}{\showpaste}
+\tab{5}\spadcommand{d\free{d1 }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch17}
+\begin{paste}{ugxMatrixCreatePageFull17}{ugxMatrixCreatePageEmpty17}
+\pastebutton{ugxMatrixCreatePageFull17}{\hidepaste}
+\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }}
+\indentrel{3}\begin{verbatim}
+ Ú1 1 1¿
+ ³Ä Ä Ä³
+ ³2 3 4³
+ (17) ³ ³
+ ³1 1 1³
+ ³Ä Ä Ä³
+ À5 6 7Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty17}
+\begin{paste}{ugxMatrixCreatePageEmpty17}{ugxMatrixCreatePagePatch17}
+\pastebutton{ugxMatrixCreatePageEmpty17}{\showpaste}
+\tab{5}\spadcommand{a := matrix [[1/2,1/3,1/4],[1/5,1/6,1/7]]\bound{a }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch18}
+\begin{paste}{ugxMatrixCreatePageFull18}{ugxMatrixCreatePageEmpty18}
+\pastebutton{ugxMatrixCreatePageFull18}{\hidepaste}
+\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }}
+\indentrel{3}\begin{verbatim}
+ Ú3 3 3¿
+ ³Ä Ä Äij
+ ³5 7 11³
+ (18) ³ ³
+ ³ 3 3 3³
+ ³ÄÄ ÄÄ Äij
+ À13 17 19Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty18}
+\begin{paste}{ugxMatrixCreatePageEmpty18}{ugxMatrixCreatePagePatch18}
+\pastebutton{ugxMatrixCreatePageEmpty18}{\showpaste}
+\tab{5}\spadcommand{b := matrix [[3/5,3/7,3/11],[3/13,3/17,3/19]]\bound{b }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch19}
+\begin{paste}{ugxMatrixCreatePageFull19}{ugxMatrixCreatePageEmpty19}
+\pastebutton{ugxMatrixCreatePageFull19}{\hidepaste}
+\tab{5}\spadcommand{horizConcat(a,b)\free{a b }}
+\indentrel{3}\begin{verbatim}
+ Ú1 1 1 3 3 3¿
+ ³Ä Ä Ä Ä Ä Äij
+ ³2 3 4 5 7 11³
+ (19) ³ ³
+ ³1 1 1 3 3 3³
+ ³Ä Ä Ä ÄÄ ÄÄ Äij
+ À5 6 7 13 17 19Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty19}
+\begin{paste}{ugxMatrixCreatePageEmpty19}{ugxMatrixCreatePagePatch19}
+\pastebutton{ugxMatrixCreatePageEmpty19}{\showpaste}
+\tab{5}\spadcommand{horizConcat(a,b)\free{a b }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch20}
+\begin{paste}{ugxMatrixCreatePageFull20}{ugxMatrixCreatePageEmpty20}
+\pastebutton{ugxMatrixCreatePageFull20}{\hidepaste}
+\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }}
+\indentrel{3}\begin{verbatim}
+ Ú1 1 1 ¿
+ ³Ä Ä Ä ³
+ ³2 3 4 ³
+ ³ ³
+ ³1 1 1 ³
+ ³Ä Ä Ä ³
+ ³5 6 7 ³
+ (20) ³ ³
+ ³3 3 3³
+ ³Ä Ä Äij
+ ³5 7 11³
+ ³ ³
+ ³ 3 3 3³
+ ³ÄÄ ÄÄ Äij
+ À13 17 19Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty20}
+\begin{paste}{ugxMatrixCreatePageEmpty20}{ugxMatrixCreatePagePatch20}
+\pastebutton{ugxMatrixCreatePageEmpty20}{\showpaste}
+\tab{5}\spadcommand{vab := vertConcat(a,b)\free{a b }\bound{vab }}
+\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePagePatch21}
+\begin{paste}{ugxMatrixCreatePageFull21}{ugxMatrixCreatePageEmpty21}
+\pastebutton{ugxMatrixCreatePageFull21}{\hidepaste}
+\tab{5}\spadcommand{transpose vab\free{vab }}
+\indentrel{3}\begin{verbatim}
+ Ú1 1 3 3¿
+ ³Ä Ä Ä Äij
+ ³2 5 5 13³
+ ³ ³
+ ³1 1 3 3³
+ (21) ³Ä Ä Ä Äij
+ ³3 6 7 17³
+ ³ ³
+ ³1 1 3 3³
+ ³Ä Ä ÄÄ Äij
+ À4 7 11 19Ù
+ Type: Matrix Fraction Integer
+\end{verbatim}
+\indentrel{-3}\end{paste}\end{patch}
+
+\begin{patch}{ugxMatrixCreatePageEmpty21}
+\begin{paste}{ugxMatrixCreatePageEmpty21}{ugxMatrixCreatePagePatch21}
+\pastebutton{ugxMatrixCreatePageEmpty21}{\showpaste}
+\tab{5}\spadcommand{transpose vab\free{vab }}
+\end{paste}\end{patch}
+