Quaternion Toolbox

The quaternion toolbox for Matlab® (QTFM for short) extends Matlab® to handle vectors and matrices of quaternions. Many quaternion-specific functions are implemented, as are overloadings of standard Matlab® functions and Matlab® operators and notation. The toolbox is intended to work as far as possible in the same way as Matlab® itself. Most functions are vectorized, and where a Matlab® function is overloaded by the toolbox, as far as possible the quaternion function accepts the same parameters as the Matlab® function.

The toolbox includes test code which can be invoked from the Matlab® Start menu, or by running the test function itself (in the subdirectory test).

For a general overview of quaternions, and how they are handled by the toolbox, see the overview page. For a detailed list of functions, see the alphabetical or categorized lists.

Many Matlab® functions will work with quaternion arrays, because all the functions called are overloaded by the toolbox, and the semantics of the quaternion version are consistent with what the Matlab® function expects. A list of these functions is available.

Website

The toolbox website and Sourceforge project page may be acccessed from the Matlab® Start menu, or from the following links:

Matlab® version required

Matlab® Version 7.6 (R2008a) is the minimum required system to run version 2 of the toolbox. Earlier versions of the toolbox will work with Version 7.4 (R2007a). The test code (see below) verifies the version required and documents the reasons for requiring it.

GNU Octave compatibility (under development)

From version 1.8 onwards, we have introduced some minor changes to attempt to achieve compatibility with GNU Octave. At present, the toolbox will not work correctly under GNU Octave. The test code (see below) will recognise that QTFM is running under Octave, but the tests will fail due to serious problems with the GNU Octave search path, and the lack of recognition by GNU Octave of the toolbox directory structure. We welcome contributions to fixing these problems, which will be acknowledged on the contributors page.

Test code

Some test code is provided in the directory test. To run it type qtfm_test in the command window. This runs all the test code. Alternatively, there is a menu item accessible from the Matlab® Start menu which will run the test code if you are using a version of Matlab® prior to Version 8. There may be some warnings about numerical accuracy of results, which vary from one test run to the next, and can usually be ignored.

CVS Repository

We use CVS for version control of files within the toolbox, and new versions of files are uploaded to the CVS repository at Sourceforge as we develop them, in between releases of the toolbox. If you wish, you should be able to set up your own CVS system to provide read-only access to the repository and thus keep the toolbox updated in between releases. The effort of doing this is not likely to be worthwhile unless you already know how to use CVS.

However, it may sometimes be worthwhile to check for a newer version of a specific file, if you hit a problem. You can do this through a web interface to the CVS repository:

Contributors

A list of people who have contributed to QTFM is available on a separate page.

Contact

The authors may be contacted through the Sourceforge page or directly at the following email addresses:

© 2008-2013 Stephen J. Sangwine and Nicolas Le Bihan.

License terms.