\begin{patch}{GeneralQuaternionXmpPagePatch1}
\begin{paste}{GeneralQuaternionXmpPageFull1}{GeneralQuaternionXmpPageEmpty1}
\pastebutton{GeneralQuaternionXmpPageFull1}{\hidepaste}
\tab{5}\spadcommand{Q2 := GeneralQuaternion(Fraction(Integer), 2, 3)\bound{Q2 }}
\indentrel{3}\begin{verbatim}
   (1)  GeneralQuaternion(Fraction(Integer),2,3)
                                             Type: Type
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty1}
\begin{paste}{GeneralQuaternionXmpPageEmpty1}{GeneralQuaternionXmpPagePatch1}
\pastebutton{GeneralQuaternionXmpPageEmpty1}{\showpaste}
\tab{5}\spadcommand{Q2 := GeneralQuaternion(Fraction(Integer), 2, 3)\bound{Q2 }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch2}
\begin{paste}{GeneralQuaternionXmpPageFull2}{GeneralQuaternionXmpPageEmpty2}
\pastebutton{GeneralQuaternionXmpPageFull2}{\hidepaste}
\tab{5}\spadcommand{i := quatern(0, 1, 0, 0)$Q2\bound{i }\free{Q2 }}
\indentrel{3}\begin{verbatim}
   (2)  i
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty2}
\begin{paste}{GeneralQuaternionXmpPageEmpty2}{GeneralQuaternionXmpPagePatch2}
\pastebutton{GeneralQuaternionXmpPageEmpty2}{\showpaste}
\tab{5}\spadcommand{i := quatern(0, 1, 0, 0)$Q2\bound{i }\free{Q2 }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch3}
\begin{paste}{GeneralQuaternionXmpPageFull3}{GeneralQuaternionXmpPageEmpty3}
\pastebutton{GeneralQuaternionXmpPageFull3}{\hidepaste}
\tab{5}\spadcommand{i^2\free{i }}
\indentrel{3}\begin{verbatim}
   (3)  2
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty3}
\begin{paste}{GeneralQuaternionXmpPageEmpty3}{GeneralQuaternionXmpPagePatch3}
\pastebutton{GeneralQuaternionXmpPageEmpty3}{\showpaste}
\tab{5}\spadcommand{i^2\free{i }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch4}
\begin{paste}{GeneralQuaternionXmpPageFull4}{GeneralQuaternionXmpPageEmpty4}
\pastebutton{GeneralQuaternionXmpPageFull4}{\hidepaste}
\tab{5}\spadcommand{( quatern(0, 0, 1, 0)$Q2)^2\free{Q2 }}
\indentrel{3}\begin{verbatim}
   (4)  3
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty4}
\begin{paste}{GeneralQuaternionXmpPageEmpty4}{GeneralQuaternionXmpPagePatch4}
\pastebutton{GeneralQuaternionXmpPageEmpty4}{\showpaste}
\tab{5}\spadcommand{( quatern(0, 0, 1, 0)$Q2)^2\free{Q2 }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch5}
\begin{paste}{GeneralQuaternionXmpPageFull5}{GeneralQuaternionXmpPageEmpty5}
\pastebutton{GeneralQuaternionXmpPageFull5}{\hidepaste}
\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)$Q2\bound{q }\free{Q2 }}
\indentrel{3}\begin{verbatim}
         2        3
   (5)  -- - 8i + - j + k
        11        4
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty5}
\begin{paste}{GeneralQuaternionXmpPageEmpty5}{GeneralQuaternionXmpPagePatch5}
\pastebutton{GeneralQuaternionXmpPageEmpty5}{\showpaste}
\tab{5}\spadcommand{q := quatern(2/11,-8,3/4,1)$Q2\bound{q }\free{Q2 }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch6}
\begin{paste}{GeneralQuaternionXmpPageFull6}{GeneralQuaternionXmpPageEmpty6}
\pastebutton{GeneralQuaternionXmpPageFull6}{\hidepaste}
\tab{5}\spadcommand{iq := inv q\bound{iq }\free{q }}
\indentrel{3}\begin{verbatim}
            352     15488      1452       1936
   (6)  - ------ - ------ i + ------ j + ------ k
          239395   239395     239395     239395
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty6}
\begin{paste}{GeneralQuaternionXmpPageEmpty6}{GeneralQuaternionXmpPagePatch6}
\pastebutton{GeneralQuaternionXmpPageEmpty6}{\showpaste}
\tab{5}\spadcommand{iq := inv q\bound{iq }\free{q }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch7}
\begin{paste}{GeneralQuaternionXmpPageFull7}{GeneralQuaternionXmpPageEmpty7}
\pastebutton{GeneralQuaternionXmpPageFull7}{\hidepaste}
\tab{5}\spadcommand{iq*q\free{iq q }}
\indentrel{3}\begin{verbatim}
   (7)  1
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty7}
\begin{paste}{GeneralQuaternionXmpPageEmpty7}{GeneralQuaternionXmpPagePatch7}
\pastebutton{GeneralQuaternionXmpPageEmpty7}{\showpaste}
\tab{5}\spadcommand{iq*q\free{iq q }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch8}
\begin{paste}{GeneralQuaternionXmpPageFull8}{GeneralQuaternionXmpPageEmpty8}
\pastebutton{GeneralQuaternionXmpPageFull8}{\hidepaste}
\tab{5}\spadcommand{q^6\free{q }}
\indentrel{3}\begin{verbatim}
   (8)
     13785787472776443   172175104091     516525312273
     ----------------- - ------------ i + ------------ j
         7256313856         1288408         41229056
   + 
     172175104091
     ------------ k
       10307264
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty8}
\begin{paste}{GeneralQuaternionXmpPageEmpty8}{GeneralQuaternionXmpPagePatch8}
\pastebutton{GeneralQuaternionXmpPageEmpty8}{\showpaste}
\tab{5}\spadcommand{q^6\free{q }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch9}
\begin{paste}{GeneralQuaternionXmpPageFull9}{GeneralQuaternionXmpPageEmpty9}
\pastebutton{GeneralQuaternionXmpPageFull9}{\hidepaste}
\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89)$Q2; q + r\bound{r }\free{q }}
\indentrel{3}\begin{verbatim}
          20        119
   (9)  - -- - 5i + --- j - 88k
          11         36
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty9}
\begin{paste}{GeneralQuaternionXmpPageEmpty9}{GeneralQuaternionXmpPagePatch9}
\pastebutton{GeneralQuaternionXmpPageEmpty9}{\showpaste}
\tab{5}\spadcommand{r := quatern(-2,3,23/9,-89)$Q2; q + r\bound{r }\free{q }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch10}
\begin{paste}{GeneralQuaternionXmpPageFull10}{GeneralQuaternionXmpPageEmpty10}
\pastebutton{GeneralQuaternionXmpPageFull10}{\hidepaste}
\tab{5}\spadcommand{q * r - r * q\free{q r }}
\indentrel{3}\begin{verbatim}
         2495             817
   (10)  ---- i + 2836j - --- k
           6               18
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty10}
\begin{paste}{GeneralQuaternionXmpPageEmpty10}{GeneralQuaternionXmpPagePatch10}
\pastebutton{GeneralQuaternionXmpPageEmpty10}{\showpaste}
\tab{5}\spadcommand{q * r - r * q\free{q r }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch11}
\begin{paste}{GeneralQuaternionXmpPageFull11}{GeneralQuaternionXmpPageEmpty11}
\pastebutton{GeneralQuaternionXmpPageFull11}{\hidepaste}
\tab{5}\spadcommand{norm q\free{q }}
\indentrel{3}\begin{verbatim}
           239395
   (11)  - ------
            1936
                                Type: Fraction(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty11}
\begin{paste}{GeneralQuaternionXmpPageEmpty11}{GeneralQuaternionXmpPagePatch11}
\pastebutton{GeneralQuaternionXmpPageEmpty11}{\showpaste}
\tab{5}\spadcommand{norm q\free{q }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch12}
\begin{paste}{GeneralQuaternionXmpPageFull12}{GeneralQuaternionXmpPageEmpty12}
\pastebutton{GeneralQuaternionXmpPageFull12}{\hidepaste}
\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }}
\indentrel{3}\begin{verbatim}
          2        3
   (12)  -- + 8i - - j - k
         11        4
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty12}
\begin{paste}{GeneralQuaternionXmpPageEmpty12}{GeneralQuaternionXmpPagePatch12}
\pastebutton{GeneralQuaternionXmpPageEmpty12}{\showpaste}
\tab{5}\spadcommand{conjugate q\free{q }\bound{prev }}
\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPagePatch13}
\begin{paste}{GeneralQuaternionXmpPageFull13}{GeneralQuaternionXmpPageEmpty13}
\pastebutton{GeneralQuaternionXmpPageFull13}{\hidepaste}
\tab{5}\spadcommand{q * \%\free{q prev }}
\indentrel{3}\begin{verbatim}
           239395
   (13)  - ------
            1936
         Type: GeneralQuaternion(Fraction(Integer),2,3)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{GeneralQuaternionXmpPageEmpty13}
\begin{paste}{GeneralQuaternionXmpPageEmpty13}{GeneralQuaternionXmpPagePatch13}
\pastebutton{GeneralQuaternionXmpPageEmpty13}{\showpaste}
\tab{5}\spadcommand{q * \%\free{q prev }}
\end{paste}\end{patch}

