\documentclass{article} \usepackage{axiom} \begin{document} \title{\$SPAD/src/input quat.input} \author{The Axiom Team} \maketitle \begin{abstract} \end{abstract} \eject \tableofcontents \eject \section{License} <>= --Copyright The Numerical Algorithms Group Limited 1991. @ <<*>>= <> -- This file demonstrates some operations with quaternions. )clear all -- The basic function for creating quaternions is "quatern". This is -- a quaternion over the rational numbers. q := quatern(2/11,-8,3/4,1) -- The four arguments are the real part, the i imaginary part, the -- j imaginary part and the k imaginary part, respectively. These are -- extracted with the following functions. real q imagI q imagJ q imagK q -- Because q is over the rationals (and nonzero), you can invert it ... inv q -- in addition to the normal arithmetic (ring) operations. q**6 r := quatern(-2,3,23/9,-89) q + r q - r -- In general, multiplication is not commutative. q * r r * q -- There are no predefined constants for the imaginary i, j and k but -- you can easily define them. i := quatern(0,1,0,0) j := quatern(0,0,1,0) k := quatern(0,0,0,1) i*i j*j k*k i*j j*k k*i q * i -- The norm is the quaternion times its conjugate norm q conjugate q q * % @ \eject \begin{thebibliography}{99} \bibitem{1} nothing \end{thebibliography} \end{document}