[37] | 1 | -------------------------------------------------------------- |
---|
| 2 | Quaternion toolbox for Matlab |
---|
| 3 | http://qtfm.sourceforge.net/ |
---|
| 4 | Mailing list: qtfm-announce@lists.sourceforge.net |
---|
| 5 | -------------------------------------------------------------- |
---|
| 6 | Copyright (©) Stephen J. Sangwine (S.Sangwine@IEEE.org) |
---|
| 7 | 2005, 2006 Nicolas Le Bihan (nicolas.le-bihan@lis.inpg.fr) |
---|
| 8 | -------------------------------------------------------------- |
---|
| 9 | |
---|
| 10 | Release Notes |
---|
| 11 | |
---|
| 12 | Version 1.0 14 December 2006 |
---|
| 13 | |
---|
| 14 | This release does not mark a major update to the toolbox, but |
---|
| 15 | reflects the fact that the previous version has now been in use |
---|
| 16 | for long enough for problems to come to light. The toolbox is |
---|
| 17 | now sufficiently mature to have a version number that does not |
---|
| 18 | start with zero. |
---|
| 19 | |
---|
| 20 | We have included with this release a new function svdj() which |
---|
| 21 | computes a singular value decomposition using a cyclic Jacobi |
---|
| 22 | algorithm. It will work on real and complex matrices as well |
---|
| 23 | as quaternion matrices. This code therefore demonstrates some |
---|
| 24 | of the tricks needed to write code that will work on real and |
---|
| 25 | complex matrices as well as quaternion matrices. We believe this |
---|
| 26 | may be a useful test feature. |
---|
| 27 | |
---|
| 28 | The Matlab functions ceil, floor, fix and round have been |
---|
| 29 | overloaded for quaternion matrices. |
---|
| 30 | |
---|
| 31 | Version 0.9 13 July 2006 |
---|
| 32 | |
---|
| 33 | The Matlab constructor function complex() has been overloaded |
---|
| 34 | for quaternions, making it possible to write complex(a, b), |
---|
| 35 | where one or both of a and b is a quaternion. |
---|
| 36 | |
---|
| 37 | The two Matlab functions conv and conv2 (convolution) have |
---|
| 38 | been overloaded for quaternions. |
---|
| 39 | |
---|
| 40 | A new function convert has been introduced to replace the |
---|
| 41 | previous functions double, single, uint8 etc. convert works |
---|
| 42 | on the elements of a quaternion, e.g. p = convert(q, 'single') |
---|
| 43 | results in a quaternion with single precision components. |
---|
| 44 | The previous functions have been removed as they cause Matlab |
---|
| 45 | to execute a statement like X(1,2) = quaternion(1,2,3,4) even |
---|
| 46 | though X is of type double - the result is a corrupted element |
---|
| 47 | in X, and no error is raised. |
---|
| 48 | |
---|
| 49 | The private function isoquaternion has been modified to work |
---|
| 50 | correctly when the supplied complex number has zero imaginary |
---|
| 51 | part. This fixes a problem where log(quaternion(1,0,0,0)) |
---|
| 52 | failed instead of returning 0. |
---|
| 53 | |
---|
| 54 | A number of minor bug fixes have been incorporated. |
---|
| 55 | |
---|
| 56 | Version 0.8 24 March 2006 |
---|
| 57 | |
---|
| 58 | With this release we have made available the det, svd and eig |
---|
| 59 | functions. There are some limitations in these functions (see |
---|
| 60 | the source code) which may be removed in later releases. |
---|
| 61 | |
---|
| 62 | All of the Fourier transform functions now work for complex |
---|
| 63 | quaternions as well as real quaternions. A transform with |
---|
| 64 | real data and a real axis will be computed using a quaternion |
---|
| 65 | transform. If the data and/or axis is complex, a complex |
---|
| 66 | quaternion transform will be computed. |
---|
| 67 | |
---|
| 68 | The following functions which were previously unimplemented |
---|
| 69 | are now implemented and work for real and complex quaternions: |
---|
| 70 | log, sin, cos, tan, sinh, cosh, tanh. |
---|
| 71 | |
---|
| 72 | The function power.m has been implemented, making it possible |
---|
| 73 | to raise a quaternion to a power using the .^ notation. This |
---|
| 74 | function uses logarithms in the general case, but implements |
---|
| 75 | certain special cases such as powers of -1, 0, 1, 2, and 0.5 |
---|
| 76 | using more direct calculation. The square root function has |
---|
| 77 | also been implemented. |
---|
| 78 | |
---|
| 79 | The functions isreal and sign have been added. |
---|
| 80 | |
---|
| 81 | The following functions now work correctly for complex as well |
---|
| 82 | as real quaternions: unit, angle, axis, exp, change_basis, |
---|
| 83 | orthormal_basis. |
---|
| 84 | |
---|
| 85 | A directory of test code has been added. There is a script |
---|
| 86 | called test.m which runs all the test code, and various |
---|
| 87 | scripts for testing parts of the library. The test code is |
---|
| 88 | not comprehensive and will be expanded in due course. |
---|
| 89 | |
---|
| 90 | Structure indexing has been added (in a very limited way). |
---|
| 91 | See the function subsref.m for details (work in progress). |
---|
| 92 | |
---|
| 93 | ------------------------ |
---|
| 94 | |
---|
| 95 | Version 0.7 27 July 2005 |
---|
| 96 | |
---|
| 97 | This version is the first released on Sourceforge. |
---|