\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 ³ ³- Ä Ä³ ³ÄÄ ÄÄ ³ ³ 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}