\begin{patch}{XPolynomialRingXmpPagePatch1} \begin{paste}{XPolynomialRingXmpPageFull1}{XPolynomialRingXmpPageEmpty1} \pastebutton{XPolynomialRingXmpPageFull1}{\hidepaste} \tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} \indentrel{3}\begin{verbatim} (1) OrderedFreeMonoid Symbol Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty1} \begin{paste}{XPolynomialRingXmpPageEmpty1}{XPolynomialRingXmpPagePatch1} \pastebutton{XPolynomialRingXmpPageEmpty1}{\showpaste} \tab{5}\spadcommand{Word := OrderedFreeMonoid(Symbol)\bound{Word }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch2} \begin{paste}{XPolynomialRingXmpPageFull2}{XPolynomialRingXmpPageEmpty2} \pastebutton{XPolynomialRingXmpPageFull2}{\hidepaste} \tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} \indentrel{3}\begin{verbatim} (2) XPolynomialRing(Integer,OrderedFreeMonoid Symbol) Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty2} \begin{paste}{XPolynomialRingXmpPageEmpty2}{XPolynomialRingXmpPagePatch2} \pastebutton{XPolynomialRingXmpPageEmpty2}{\showpaste} \tab{5}\spadcommand{poly:= XPR(Integer,Word)\free{Word }\bound{poly }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch3} \begin{paste}{XPolynomialRingXmpPageFull3}{XPolynomialRingXmpPageEmpty3} \pastebutton{XPolynomialRingXmpPageFull3}{\hidepaste} \tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} \indentrel{3}\begin{verbatim} (3) 1 + 2x - 3y Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty3} \begin{paste}{XPolynomialRingXmpPageEmpty3}{XPolynomialRingXmpPagePatch3} \pastebutton{XPolynomialRingXmpPageEmpty3}{\showpaste} \tab{5}\spadcommand{p:poly := 2 * x - 3 * y + 1\free{poly }\bound{p }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch4} \begin{paste}{XPolynomialRingXmpPageFull4}{XPolynomialRingXmpPageEmpty4} \pastebutton{XPolynomialRingXmpPageFull4}{\hidepaste} \tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} \indentrel{3}\begin{verbatim} (4) 1 + 2x Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty4} \begin{paste}{XPolynomialRingXmpPageEmpty4}{XPolynomialRingXmpPagePatch4} \pastebutton{XPolynomialRingXmpPageEmpty4}{\showpaste} \tab{5}\spadcommand{q:poly := 2 * x + 1\free{poly }\bound{q }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch5} \begin{paste}{XPolynomialRingXmpPageFull5}{XPolynomialRingXmpPageEmpty5} \pastebutton{XPolynomialRingXmpPageFull5}{\hidepaste} \tab{5}\spadcommand{p + q\free{p }\free{q }} \indentrel{3}\begin{verbatim} (5) 2 + 4x - 3y Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty5} \begin{paste}{XPolynomialRingXmpPageEmpty5}{XPolynomialRingXmpPagePatch5} \pastebutton{XPolynomialRingXmpPageEmpty5}{\showpaste} \tab{5}\spadcommand{p + q\free{p }\free{q }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch6} \begin{paste}{XPolynomialRingXmpPageFull6}{XPolynomialRingXmpPageEmpty6} \pastebutton{XPolynomialRingXmpPageFull6}{\hidepaste} \tab{5}\spadcommand{p * q\free{p }\free{q }} \indentrel{3}\begin{verbatim} 2 (6) 1 + 4x - 3y + 4x - 6y x Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty6} \begin{paste}{XPolynomialRingXmpPageEmpty6}{XPolynomialRingXmpPagePatch6} \pastebutton{XPolynomialRingXmpPageEmpty6}{\showpaste} \tab{5}\spadcommand{p * q\free{p }\free{q }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch7} \begin{paste}{XPolynomialRingXmpPageFull7}{XPolynomialRingXmpPageEmpty7} \pastebutton{XPolynomialRingXmpPageFull7}{\hidepaste} \tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} \indentrel{3}\begin{verbatim} (7) - 6x y + 6y x Type: XPolynomialRing(Integer,OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty7} \begin{paste}{XPolynomialRingXmpPageEmpty7}{XPolynomialRingXmpPagePatch7} \pastebutton{XPolynomialRingXmpPageEmpty7}{\showpaste} \tab{5}\spadcommand{(p +q)^2 -p^2 -q^2 - 2*p*q\free{p }\free{q }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch8} \begin{paste}{XPolynomialRingXmpPageFull8}{XPolynomialRingXmpPageEmpty8} \pastebutton{XPolynomialRingXmpPageFull8}{\hidepaste} \tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} \indentrel{3}\begin{verbatim} (8) SquareMatrix(2,Fraction Integer) Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty8} \begin{paste}{XPolynomialRingXmpPageEmpty8}{XPolynomialRingXmpPagePatch8} \pastebutton{XPolynomialRingXmpPageEmpty8}{\showpaste} \tab{5}\spadcommand{M := SquareMatrix(2,Fraction Integer)\bound{M }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch9} \begin{paste}{XPolynomialRingXmpPageFull9}{XPolynomialRingXmpPageEmpty9} \pastebutton{XPolynomialRingXmpPageFull9}{\hidepaste} \tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} \indentrel{3}\begin{verbatim} (9) XPolynomialRing(SquareMatrix(2,Fraction Integer),Ordere dFreeMonoid Symbol) Type: Domain \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty9} \begin{paste}{XPolynomialRingXmpPageEmpty9}{XPolynomialRingXmpPagePatch9} \pastebutton{XPolynomialRingXmpPageEmpty9}{\showpaste} \tab{5}\spadcommand{poly1:= XPR(M,Word)\free{Word }\free{M }\bound{poly1 }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch10} \begin{paste}{XPolynomialRingXmpPageFull10}{XPolynomialRingXmpPageEmpty10} \pastebutton{XPolynomialRingXmpPageFull10}{\hidepaste} \tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} \indentrel{3}\begin{verbatim} �1 2� (10) � � �4 8� Type: SquareMatrix(2,Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty10} \begin{paste}{XPolynomialRingXmpPageEmpty10}{XPolynomialRingXmpPagePatch10} \pastebutton{XPolynomialRingXmpPageEmpty10}{\showpaste} \tab{5}\spadcommand{m1:M := matrix [[i*j**2 for i in 1..2] for j in 1..2]\free{M }\bound{m1 }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch11} \begin{paste}{XPolynomialRingXmpPageFull11}{XPolynomialRingXmpPageEmpty11} \pastebutton{XPolynomialRingXmpPageFull11}{\hidepaste} \tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} \indentrel{3}\begin{verbatim} � 1 � �- � 2 � � 4 � (11) � � � 27� � 4 �ij � 4� Type: SquareMatrix(2,Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty11} \begin{paste}{XPolynomialRingXmpPageEmpty11}{XPolynomialRingXmpPagePatch11} \pastebutton{XPolynomialRingXmpPageEmpty11}{\showpaste} \tab{5}\spadcommand{m2:M := m1 - 5/4\free{M }\free{m1 }\bound{m2 }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch12} \begin{paste}{XPolynomialRingXmpPageFull12}{XPolynomialRingXmpPageEmpty12} \pastebutton{XPolynomialRingXmpPageFull12}{\hidepaste} \tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} \indentrel{3}\begin{verbatim} �129 � ���� 13 � � 16 � (12) � � � 857� �26 ��ij � 16� Type: SquareMatrix(2,Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty12} \begin{paste}{XPolynomialRingXmpPageEmpty12}{XPolynomialRingXmpPagePatch12} \pastebutton{XPolynomialRingXmpPageEmpty12}{\showpaste} \tab{5}\spadcommand{m3: M := m2**2\free{M }\free{m2 }\bound{m3 }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch13} \begin{paste}{XPolynomialRingXmpPageFull13}{XPolynomialRingXmpPageEmpty13} \pastebutton{XPolynomialRingXmpPageFull13}{\hidepaste} \tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} \indentrel{3}\begin{verbatim} � 2 � � 1 � �129 � �- � 0 � �- � 2 � ���� 13 � � 3 � �1 2� � 4 � � 16 � (13) � � + � �x + � �y + � �z � 2� �4 8� � 27� � 857� � 0 - ij � 4 �ij �26 ��ij � 3� � 4� � 16� Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty13} \begin{paste}{XPolynomialRingXmpPageEmpty13}{XPolynomialRingXmpPagePatch13} \pastebutton{XPolynomialRingXmpPageEmpty13}{\showpaste} \tab{5}\spadcommand{pm:poly1 := m1*x + m2*y + m3*z - 2/3\free{poly1 }\free{m1 }\free{m2 }\free{m3 }\bound{pm }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch14} \begin{paste}{XPolynomialRingXmpPageFull14}{XPolynomialRingXmpPageEmpty14} \pastebutton{XPolynomialRingXmpPageFull14}{\hidepaste} \tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} \indentrel{3}\begin{verbatim} � 2 � � 1 � �129 � �- � 0 � �- � 2 � ���� 13 � � 3 � � 4 � � 16 � (14) � � + � �y + � �z � 2� � 27� � 857� � 0 - ij � 4 �ij �26 ��ij � 3� � 4� � 16� Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty14} \begin{paste}{XPolynomialRingXmpPageEmpty14}{XPolynomialRingXmpPagePatch14} \pastebutton{XPolynomialRingXmpPageEmpty14}{\showpaste} \tab{5}\spadcommand{qm:poly1 := pm - m1*x\free{m1 }\free{pm }\bound{qm }} \end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPagePatch15} \begin{paste}{XPolynomialRingXmpPageFull15}{XPolynomialRingXmpPageEmpty15} \pastebutton{XPolynomialRingXmpPageFull15}{\hidepaste} \tab{5}\spadcommand{qm**3\bound{qm }} \indentrel{3}\begin{verbatim} (15) � 8 � � 1 8� �43 52 � �- �� 0 � �- � ij ��� �� � � 27 � � 3 3� � 4 3 � � � + � �y + � �z � 8� �16 � �104 857� � 0 - �ij ��� 9� ���� ��ij � 27� � 3 � � 3 12� + � 129 � � 3199 831 � �- ��� - 26 � �- ���� - ��� � � 8 � 2 � 32 4 � � �y + � �y z � 857� � 831 26467� �- 52 - ��ij �- ��� - ����ij � 8 � � 2 32 � + � 3199 831 � � 103169 6409 � �- ���� - ��� � �- ������ - ���� � � 32 4 � � 128 4 � 2 � �z y + � �z � 831 26467� � 6409 820977� �- ��� - ����ij � - ���� - �����ij � 2 32 � � 2 128 � + �3199 831 � �103169 6409 � ����� ��� � ������� ���� � � 64 8 � 3 � 256 8 � 2 � �y + � �y z �831 26467� � 6409 820977� ���� ����ij � ���� �����ij � 4 64 � � 4 256 � + �103169 6409 � �3178239 795341 � ������� ���� � �������� ������ � � 256 8 � � 1024 128 � 2 � �y z y + � �y z � 6409 820977� �795341 25447787� � ���� �����ij ������� �������ij � 4 256 � � 64 1024 � + �103169 6409 � �3178239 795341 � ������� ���� � �������� ������ � � 256 8 � 2 � 1024 128 � � �z y + � �z y z � 6409 820977� �795341 25447787� � ���� �����ij ������� �������ij � 4 256 � � 64 1024 � + �3178239 795341 � �98625409 12326223 � �������� ������ � ��������� �������� � � 1024 128 � 2 � 4096 256 � 3 � �z y + � �z �795341 25447787� �12326223 788893897� ������� �������ij ��������� ��������ij � 64 1024 � � 128 4096 � Type: XPolynomialRing(SquareMatrix(2,Fraction Integer),OrderedFreeMonoid Symbol) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{XPolynomialRingXmpPageEmpty15} \begin{paste}{XPolynomialRingXmpPageEmpty15}{XPolynomialRingXmpPagePatch15} \pastebutton{XPolynomialRingXmpPageEmpty15}{\showpaste} \tab{5}\spadcommand{qm**3\bound{qm }} \end{paste}\end{patch}