\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�
        ��  �  ij
        �2  3  4�
        �       �
        �1  1  1�
   (8)  ��  �  ij
        �3  4  5�
        �       �
        �1  1  1�
        ��  �  ij
        �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�
         ��  �  ij
         �2  3  4�
   (17)  �       �
         �1  1  1�
         ��  �  ij
         �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}