[Qtfm-announce] QTFM version 3.6
Quaternion and octonion toolbox for Matlab
Brought to you by:
n-le_bihan,
sangwine
|
From: Release a. a. u. <qtf...@li...> - 2024-02-29 17:53:56
|
A new release of the Quaternion Toolbox for Matlab (QTFM) has been posted on Sourceforge. -------------------------------------------------------------- Quaternion toolbox for Matlab http://qtfm.sourceforge.net/ Mailing list: qtf...@li... -------------------------------------------------------------- Copyright © 2005-2024 Stephen J. Sangwine & Nicolas Le Bihan Email: san...@us... nic...@gi... -------------------------------------------------------------- Release Notes Version 3.6 29 February 2024 Two new functions GENISO and ISOGEN have been implemented. These compute a matrix representation of a quaternion (array), using a systematic method based on a basis, which may be user-specified. The new functions partly duplicate the ADJOINT/UNADJOINT functions which use more ad-hoc methods but most importantly permit a much wider range of bases to be used. The default basis uses Pauli matrices (2-by-2 complex matrices, giving a complex matrix representation of quaternions). The ADJOINT and UNADJOINT functions now support the 'block' parameter for 'quaternion' adjoints. This brings the quaternion case into line with the 'real' and 'complex' cases. Additional tests have been added for this case. The SVD and SVDJ functions will now compute a result for a biquaternion matrix, using the 'quaternion' adjoint, based on the work of Le Bihan, Miron and Mars in 2007. The test code for the SVD function has been extended to include tests on biquaternion matrices. The VPA (variable precision arithmetic) function (MATLAB Symbolic Toolbox) has been overloaded for quaternions and octonions. This allows a calculation to be performed with arbitrary numbers of digits (very useful to check out a calculation done with double floating point arithmetic, in order to quantify the error). VPA will only work of course if the Symbolic Toolbox is installed (this is checked and an error is raised if it isn't). The NORMQ and NORMO functions have been re-written to use Kahan summation. This reduces errors in the accumulation of the squared components, which is particularly significant with complex quaternions and octonions. The display of single quaternion and octonion values now more or less respects the MATLAB display format as set by the MATLAB FORMAT command. This means that values can be shown in long format, hexadecimal, and in scientific notation (strictly speaking the four components of a quaternion, or the eight components of an octonion are shown in these formats). (The + and rational formats are not yet supported, but they work for arrays because the MATLAB display function is used for the components.) The MATLAB NUM2STR function has been overloaded for both quaternions and octonions. The CHAR function now handles only symbolic quaternions, and outputs an error message if given anything else. Like the MATLAB NUM2STR, the new function works only for numeric quaternions (including quaternions with logical elements, just like the MATLAB function). This new function is used by DISP when displaying a single quaternion value. It cannot handle arrays of quaternions or octonions, unlike the MATLAB function. A small change has been made to the ISNILPOTENT function's handling of the symbolic case, to use isAlways rather then EVAL (this follows MATHWORKS advice to avoid EVAL, which caused an error in EVALIN due to symbolic variables from the base workspace not being visible). The test code now outputs only a brief message for each warning, suppressing the stack backtrace that was previously output by default. |