\begin{patch}{OctonionXmpPagePatch1} \begin{paste}{OctonionXmpPageFull1}{OctonionXmpPageEmpty1} \pastebutton{OctonionXmpPageFull1}{\hidepaste} \tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} \indentrel{3}\begin{verbatim} (1) 1 + 2i + 3j + 4k + 5E + 6I + 7J + 8K Type: Octonion Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty1} \begin{paste}{OctonionXmpPageEmpty1}{OctonionXmpPagePatch1} \pastebutton{OctonionXmpPageEmpty1}{\showpaste} \tab{5}\spadcommand{oci1 := octon(1,2,3,4,5,6,7,8)\bound{oci1 }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch2} \begin{paste}{OctonionXmpPageFull2}{OctonionXmpPageEmpty2} \pastebutton{OctonionXmpPageFull2}{\hidepaste} \tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} \indentrel{3}\begin{verbatim} (2) 7 + 2i + 3j - 4k + 5E + 6I - 7J Type: Octonion Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty2} \begin{paste}{OctonionXmpPageEmpty2}{OctonionXmpPagePatch2} \pastebutton{OctonionXmpPageEmpty2}{\showpaste} \tab{5}\spadcommand{oci2 := octon(7,2,3,-4,5,6,-7,0)\bound{oci2 }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch3} \begin{paste}{OctonionXmpPageFull3}{OctonionXmpPageEmpty3} \pastebutton{OctonionXmpPageFull3}{\hidepaste} \tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} \indentrel{3}\begin{verbatim} (3) - 7 - 12i + 3j - 10k + 5E + 6I + 9J Type: Octonion Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty3} \begin{paste}{OctonionXmpPageEmpty3}{OctonionXmpPagePatch3} \pastebutton{OctonionXmpPageEmpty3}{\showpaste} \tab{5}\spadcommand{oci3 := octon(quatern(-7,-12,3,-10), quatern(5,6,9,0))\bound{oci3 }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch4} \begin{paste}{OctonionXmpPageFull4}{OctonionXmpPageEmpty4} \pastebutton{OctonionXmpPageFull4}{\hidepaste} \tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} \indentrel{3}\begin{verbatim} (4) 2696i - 2928j - 4072k + 16E - 1192I + 832J + 2616K Type: Octonion Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty4} \begin{paste}{OctonionXmpPageEmpty4}{OctonionXmpPagePatch4} \pastebutton{OctonionXmpPageEmpty4}{\showpaste} \tab{5}\spadcommand{(oci1 * oci2) * oci3 - oci1 * (oci2 * oci3)\free{oci1 oci2 oci3 }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch5} \begin{paste}{OctonionXmpPageFull5}{OctonionXmpPageEmpty5} \pastebutton{OctonionXmpPageFull5}{\hidepaste} \tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} \indentrel{3}\begin{verbatim} (5) [1,2,3,4,5,6,7,8] Type: List PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty5} \begin{paste}{OctonionXmpPageEmpty5}{OctonionXmpPagePatch5} \pastebutton{OctonionXmpPageEmpty5}{\showpaste} \tab{5}\spadcommand{[real oci1, imagi oci1, imagj oci1, imagk oci1, imagE oci1, imagI oci1, imagJ oci1, imagK oci1]\free{oci1 }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch6} \begin{paste}{OctonionXmpPageFull6}{OctonionXmpPageEmpty6} \pastebutton{OctonionXmpPageFull6}{\hidepaste} \tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} \indentrel{3}\begin{verbatim} (6) q1 + qi i + qj j + qk k Type: Quaternion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty6} \begin{paste}{OctonionXmpPageEmpty6}{OctonionXmpPagePatch6} \pastebutton{OctonionXmpPageEmpty6}{\showpaste} \tab{5}\spadcommand{q : Quaternion Polynomial Integer := quatern(q1, qi, qj, qk)\bound{q }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch7} \begin{paste}{OctonionXmpPageFull7}{OctonionXmpPageEmpty7} \pastebutton{OctonionXmpPageFull7}{\hidepaste} \tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} \indentrel{3}\begin{verbatim} (7) E Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty7} \begin{paste}{OctonionXmpPageEmpty7}{OctonionXmpPagePatch7} \pastebutton{OctonionXmpPageEmpty7}{\showpaste} \tab{5}\spadcommand{E : Octonion Polynomial Integer:= octon(0,0,0,0,1,0,0,0)\bound{E }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch8} \begin{paste}{OctonionXmpPageFull8}{OctonionXmpPageEmpty8} \pastebutton{OctonionXmpPageFull8}{\hidepaste} \tab{5}\spadcommand{q * E\free{q E }} \indentrel{3}\begin{verbatim} (8) q1 E + qi I + qj J + qk K Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty8} \begin{paste}{OctonionXmpPageEmpty8}{OctonionXmpPagePatch8} \pastebutton{OctonionXmpPageEmpty8}{\showpaste} \tab{5}\spadcommand{q * E\free{q E }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch9} \begin{paste}{OctonionXmpPageFull9}{OctonionXmpPageEmpty9} \pastebutton{OctonionXmpPageFull9}{\hidepaste} \tab{5}\spadcommand{E * q\free{E q }} \indentrel{3}\begin{verbatim} (9) q1 E - qi I - qj J - qk K Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty9} \begin{paste}{OctonionXmpPageEmpty9}{OctonionXmpPagePatch9} \pastebutton{OctonionXmpPageEmpty9}{\showpaste} \tab{5}\spadcommand{E * q\free{E q }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch10} \begin{paste}{OctonionXmpPageFull10}{OctonionXmpPageEmpty10} \pastebutton{OctonionXmpPageFull10}{\hidepaste} \tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} \indentrel{3}\begin{verbatim} (10) q1 + qi i + qj j + qk k Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty10} \begin{paste}{OctonionXmpPageEmpty10}{OctonionXmpPagePatch10} \pastebutton{OctonionXmpPageEmpty10}{\showpaste} \tab{5}\spadcommand{q * 1$(Octonion Polynomial Integer)\free{q }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch11} \begin{paste}{OctonionXmpPageFull11}{OctonionXmpPageEmpty11} \pastebutton{OctonionXmpPageFull11}{\hidepaste} \tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} \indentrel{3}\begin{verbatim} (11) q1 + qi i + qj j + qk k Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty11} \begin{paste}{OctonionXmpPageEmpty11}{OctonionXmpPagePatch11} \pastebutton{OctonionXmpPageEmpty11}{\showpaste} \tab{5}\spadcommand{1$(Octonion Polynomial Integer) * q\free{q }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch12} \begin{paste}{OctonionXmpPageFull12}{OctonionXmpPageEmpty12} \pastebutton{OctonionXmpPageFull12}{\hidepaste} \tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} \indentrel{3}\begin{verbatim} (12) o1 + oi i + oj j + ok k + oE E + oI I + oJ J + oK K Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty12} \begin{paste}{OctonionXmpPageEmpty12}{OctonionXmpPagePatch12} \pastebutton{OctonionXmpPageEmpty12}{\showpaste} \tab{5}\spadcommand{o : Octonion Polynomial Integer := octon(o1, oi, oj, ok, oE, oI, oJ, oK)\bound{o }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch13} \begin{paste}{OctonionXmpPageFull13}{OctonionXmpPageEmpty13} \pastebutton{OctonionXmpPageFull13}{\hidepaste} \tab{5}\spadcommand{norm o\free{o }} \indentrel{3}\begin{verbatim} 2 2 2 2 2 2 2 2 (13) ok + oj + oi + oK + oJ + oI + oE + o1 Type: Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty13} \begin{paste}{OctonionXmpPageEmpty13}{OctonionXmpPagePatch13} \pastebutton{OctonionXmpPageEmpty13}{\showpaste} \tab{5}\spadcommand{norm o\free{o }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch14} \begin{paste}{OctonionXmpPageFull14}{OctonionXmpPageEmpty14} \pastebutton{OctonionXmpPageFull14}{\hidepaste} \tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} \indentrel{3}\begin{verbatim} (14) p1 + pi i + pj j + pk k + pE E + pI I + pJ J + pK K Type: Octonion Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty14} \begin{paste}{OctonionXmpPageEmpty14}{OctonionXmpPagePatch14} \pastebutton{OctonionXmpPageEmpty14}{\showpaste} \tab{5}\spadcommand{p : Octonion Polynomial Integer := octon(p1, pi, pj, pk, pE, pI, pJ, pK)\bound{p }} \end{paste}\end{patch} \begin{patch}{OctonionXmpPagePatch15} \begin{paste}{OctonionXmpPageFull15}{OctonionXmpPageEmpty15} \pastebutton{OctonionXmpPageFull15}{\hidepaste} \tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} \indentrel{3}\begin{verbatim} (15) 4 - pk + 2 2 2 2 2 2 2 - 2pj - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 + 2 2 2 2 2 2 2 2 ok + oj + oi + oK + oJ + oI + oE + o1 * 2 pk + 4 - pj + 2 2 2 2 2 2 2 - 2pi - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok + 2 2 2 2 2 2 2 oj + oi + oK + oJ + oI + oE + o1 * 2 pj + 4 - pi + 2 2 2 2 2 2 2 - 2pK - 2pJ - 2pI - 2pE - 2p1 + ok + oj + 2 2 2 2 2 2 oi + oK + oJ + oI + oE + o1 * 2 pi + 4 - pK + 2 2 2 2 2 2 2 - 2pJ - 2pI - 2pE - 2p1 + ok + oj + oi + 2 2 2 2 2 oK + oJ + oI + oE + o1 * 2 pK + 4 - pJ + 2 2 2 2 2 2 2 - 2pI - 2pE - 2p1 + ok + oj + oi + oK + 2 2 2 2 oJ + oI + oE + o1 * 2 pJ + 4 - pI + 2 2 2 2 2 2 2 2 - 2pE - 2p1 + ok + oj + oi + oK + oJ + oI + 2 2 oE + o1 * 2 pI + 4 - pE + 2 2 2 2 2 2 2 2 - 2p1 + ok + oj + oi + oK + oJ + oI + oE + 2 o1 * 2 pE + 4 - p1 + 2 2 2 2 2 2 2 2 2 (ok + oj + oi + oK + oJ + oI + oE + o1 )p1 Type: Polynomial Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{OctonionXmpPageEmpty15} \begin{paste}{OctonionXmpPageEmpty15}{OctonionXmpPagePatch15} \pastebutton{OctonionXmpPageEmpty15}{\showpaste} \tab{5}\spadcommand{norm(o*p)-norm(p)*norm(p)\free{o p }} \end{paste}\end{patch}