In addition to the other Tim's comments :), I would add: there isn't much (anything?) you can do with [hyper]complex numbers that matrices of sufficient order cannot. For instance, linear algebra on matrices of the form, IIRC, [ a b] z = a + bi --> [-b a]
are indistiguishable from complex numbers (including commutativity and division -- this matrix is nonsingular (= inverse exists) for (a = b) != 0).
The complex number e^(i*theta) is useful in rotations; the corresponding matrix is of course: [ cos theta sin theta] [-sin theta cos theta] Corresponding rotations in higher dimensions can be formed by incorporating this submatrix into a higher dimension's identity matrix. IIRC, this, in turn, is indistinguishable from quaternions, when using a 4x4 matrix with a
3x3 rotation, which looks something like: [ trig trig trig 0 ] [ trig trig trig 0 ] [ trig trig trig 0 ] [ 0 0 0 1 ] (I don't remember or care what the exact trigonometry is..) IIRC, the equivalent of a three-dimensional rotation holds w constant (in quaternion-space), hence the 'extra' row and column.
High dimension matrices are very helpful to discrete signal processing. Multiplication is numerical convolution, so filtering and frequency analysis are relatively simple. A set of samples of length N looks like a vector; if you multiply the vector, entry by entry, by different (sampled) sine waves, representing the Nth sample of the sine wave by the j'th column of a matrix, and the order of sine wave (fundamental or i'th harmonic) as the row, simply multiplying this vector of data by the matrix is a Fourier transform. And I have no proof for it, but evidently, and apparently, this matrix is self-inverse (that is to say, F{F{f(t)}} = f(t) -- the [normalized] Fourier transform "un-does" itself; likewise, denoting the Fourier transform matrix as F, F*F = 1, the NxN identity matrix). So you don't need to generate anything funny to go from frequency to time domain.
You'd never do this practically, of course; an FFT is O(N*log N) compexity, while (unoptimized) matrix multiplication is at least O(N^2), and usually O(N^3). But it's handy for small things, very easy on theory (linear algebra is very powerful, you can write a simple equation which actually encapsulates billions of computations), and a good way to get your feet wet in Matlab/Octave (whose fundamental data type is the matrix).
Tim