\input texinfo   @c -*-texinfo-*-
@c %**start of header
@setfilename quaternion.info
@settitle @thischapter
@c use chapter name instead of title in the header of even pages
@c @settitle Octave Quaternion Package
@afourpaper
@set VERSION 2.4.0
@finalout
@c @afourwide
@c %**end of header


@c The following macro is used for the on-line help system, but we don't
@c want lots of `See also: foo, bar, and baz' strings cluttering the
@c printed manual (that information should be in the supporting text for
@c each group of functions and variables).

@macro seealso {args}
@iftex
@vskip 2pt
@end iftex
@ifnottex
@c Texinfo @sp should work but in practice produces ugly results for HTML.
@c A simple blank line produces the correct behavior. 
@c @sp 1

@end ifnottex
@noindent
@strong{See also:} \args\.
@end macro


@c %*** Start of TITLEPAGE
@titlepage
@title quaternion @value{VERSION}
@subtitle Quaternion Package for GNU Octave
@author Lukas F. Reichlin
@author Juan Pablo Carbajal
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 2010-2015, Lukas F. Reichlin @email{lukas.reichlin@@gmail.com}

This manual is generated automatically from the texinfo help strings
of the package's functions.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the same conditions as for modified versions.


@page
@paragraphindent 0
@chapheading Preface
The @acronym{GNU} Octave quaternion package from version 2 onwards
was developed by Lukas F. Reichlin with important contributions by
Juan Pablo Carbajal.  This new package is intended as a replacement
for quaternion-1.0.0 by A. Scottedward Hodel.  It is loosely based
on ideas from the Quaternion Toolbox for Matlab by Steve Sangwine
and Nicolas Le Bihan with a special focus on code simplicity and
vectorization.  Its main features are:
@itemize
@item Matrices and n-dimensional arrays of quaternions.
@item Overloaded operators due to the use of classes introduced with Octave 3.2.
@item Operator semantics similar to Octave's built-in complex numbers.
@item Fully vectorized code for crunching large quaternion arrays in a speedy manner.
@end itemize


@sp 5
@subheading Using the help function
Some functions of the quaternion package are listed with the somewhat cryptic prefix
@code{@@quaternion/}.  This prefix is only needed to view the help text of the function,
e.g. @w{@code{help norm}} shows the built-in function while @w{@code{help @@quaternion/norm}}
shows the overloaded function for quaternions.  Note that there are quaternion functions
like @code{unit} that have no built-in equivalent.

When just using the function, the leading @code{@@quaternion/} must @strong{not} be typed.
Octave selects the right function automatically.  So one can type @w{@code{norm (q)}}
and @w{@code{norm (matrix)}} regardless of the class of the argument.
@end titlepage
@c %*** End of TITLEPAGE

@headings double
@contents

@c @chapter Function Reference
@include functions.texi
@end

@node Function Index
@unnumbered Function Index
@printindex fn

@bye
