\input texinfo   @c -*-texinfo-*-
@c %**start of header
@setfilename quaternion.info
@settitle Octave Quaternion Package
@afourpaper
@set VERSION 2.0.0
@finalout
@c @afourwide
@c %**end of header

@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-2012, 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
@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 a leading @code{@@quaternion/}.
This 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

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

@end
@bye
