(index ("make-rectangular" 0) ("make-polar" 294) ("real-part" 544) ("imag-part" 692) ("jmag-part" 886) ("kmag-part" 1053) ("magnitude" 1220) ("angle" 1329) ("number?" 1409) ("quaternion?" 1606) ("=" 1703) ("+" 1790) ("-" 1934) ("*" 2046) ("/" 2189) ("exp" 2295) ("log" 2399) ("expt" 2503) ("sqrt" 2612) ("sin" 2719) ("cos" 2823) ("tan" 2927) ("asin" 3031) ("acos" 3138) ("atan" 3245) ("atan" 3352) ("vector-part" 3461) ("colatitude" 3578) ("longitude" 3668) ("conjugate" 3756) ("unit-vector" 4003) ("dot-product" 4186) ("cross-product" 4385))
(def (sig (procedure "(make-rectangular w [x [y z]])" (id make-rectangular))) (p "Constructs a number, complex number, or quaternion number depending on if given 1, 2 or 4 arguments.") (pre "> (make-rectangular 1)\n1\n> (make-rectangular 1 2)\n1+2i\n> (make-rectangular 1 2 3 4)\n1+2i+3j+4k"))
(def (sig (procedure "(make-polar mu theta [phi psi])" (id make-polar))) (p "An alternative way of defining a quaternion, through the magnitude " (tt "mu") ", the angle " (tt "theta") ", the colatitude " (tt "phi") " and longitude " (tt "psi") "."))
(def (sig (procedure "(real-part n)" (id real-part))) (p "Returns the real part of a number.") (pre "> (real-part (make-rectangular 1 2 3 4))\n1"))
(def (sig (procedure "(imag-part n)" (id imag-part))) (p "Returns the imaginary part (the " (tt "i") ") of a complex or quaternion number.") (pre "> (imag-part (make-rectangular 1 2 3 4))\n2"))
(def (sig (procedure "(jmag-part n)" (id jmag-part))) (p "Returns the " (tt "j") " part of a quaternion number.") (pre "> (jmag-part (make-rectangular 1 2 3 4))\n3"))
(def (sig (procedure "(kmag-part n)" (id kmag-part))) (p "Returns the " (tt "k") " part of a quaternion number.") (pre "> (kmag-part (make-rectangular 1 2 3 4))\n4"))
(def (sig (procedure "(magnitude n)" (id magnitude))) (p "The length of " (tt "n") " treated as a vector."))
(def (sig (procedure "(angle n)" (id angle))) (p "See " (tt "make-polar") "."))
(def (sig (procedure "(number? n)" (id number?))) (p "Checks if given argument is any kind of number.") (pre "> (number? 3)\n#t\n> (number? 1+2i)\n#t\n> (number? (make-rectangular 1 2 3 4))\n#t"))
(def (sig (procedure "(quaternion? n)" (id quaternion?))) (p "The same as " (tt "number?") "."))
(def (sig (procedure "(= q1 ...)" (id =))) (p "Tests for equality of given numbers."))
(def (sig (procedure "(+ q1 ...)" (id +))) (p "Returns the sum of given numbers.") (pre "> (+ 3 2+3i (make-rectangular 1 2 3 4))\n6+5i+3j+4k"))
(def (sig (procedure "(- q1 ...)" (id -))) (p "Returns the difference of given numbers, associating to left."))
(def (sig (procedure "(* q1 ...)" (id *))) (p "Returns the product of given numbers.") (pre "> (* 2 (make-rectangular 1 2 3 4))\n2+4i+6j+8k"))
(def (sig (procedure "(/ q1 ...)" (id /))) (p "Returns quotient of given numbers, associating to left."))
(def (sig (procedure "(exp n)" (id exp))) (p "Usual " (tt "exp") " function extended to quaternions."))
(def (sig (procedure "(log n)" (id log))) (p "Usual " (tt "log") " function extended to quaternions."))
(def (sig (procedure "(expt m n)" (id expt))) (p "Usual " (tt "expt") " function extended to quaternions."))
(def (sig (procedure "(sqrt n)" (id sqrt))) (p "Usual " (tt "sqrt") " function extended to quaternions."))
(def (sig (procedure "(sin n)" (id sin))) (p "Usual " (tt "sin") " function extended to quaternions."))
(def (sig (procedure "(cos n)" (id cos))) (p "Usual " (tt "cos") " function extended to quaternions."))
(def (sig (procedure "(tan n)" (id tan))) (p "Usual " (tt "tan") " function extended to quaternions."))
(def (sig (procedure "(asin n)" (id asin))) (p "Usual " (tt "asin") " function extended to quaternions."))
(def (sig (procedure "(acos n)" (id acos))) (p "Usual " (tt "acos") " function extended to quaternions."))
(def (sig (procedure "(atan n)" (id atan))) (p "Usual " (tt "atan") " function extended to quaternions."))
(def (sig (procedure "(atan y x)" (id atan))) (p "Usual " (tt "atan") " function extended to quaternions."))
(def (sig (procedure "(vector-part q)" (id vector-part))) (p "Returns the quaternion with its real part set to 0."))
(def (sig (procedure "(colatitude q)" (id colatitude))) (p "See " (tt "make-polar") "."))
(def (sig (procedure "(longitude q)" (id longitude))) (p "See " (tt "make-polar") "."))
(def (sig (procedure "(conjugate q)" (id conjugate))) (p "Returns quaternion with same real part and sign of " (tt "i") " " (tt "j") " and " (tt "k") " part of " (tt "q") " reversed.") (pre "> (conjugate (make-rectangular 1 2 3 4))\n1-2i-3j-4k"))
(def (sig (procedure "(unit-vector q)" (id unit-vector))) (p "Returns a quaternion in same direction as " (tt "q") " but of unit length; the real part of " (tt "q") " is set to 0."))
(def (sig (procedure "(dot-product q1 q2)" (id dot-product))) (p "Real parts of " (tt "q1") " and " (tt "q2") " must be 0.  The dot product is the negative of the real part of " (tt "q1 x q2") "."))
(def (sig (procedure "(cross-product q1 q2)" (id cross-product))) (p "Real parts of " (tt "q1") " and " (tt "q2") " must be 0.  The cross product is the vector part of " (tt "q1 x q2") "."))
