matrix square



The matrix solutions of X^^2 = Identity(n) where n is the square matrix dimension is in the linear span of an orthonormal basis of n matrices representing a Clifford algebra. Let that basis be e[1],...,e[n] then the Clifford anti-commutative rule is:
(1/2)*(e[i] . e[j] + e[j] . e[i]) = delta(i,j),
with delta(i,j) the Kronecker symbol: delta(i,j) = 1 if i==j else 0.
With X:sum(x[i]*e[i],i,1,n);  X^^2 => sum(x[i]^2,i,1,n)  and thus if that sum is 1,  X is a unit Clifford "vector": X^^2 = 1, a generic point on the unit hypersphere. Clifford algebra generalises the theory of complex variables to any dimensions.
For n=2 one gets a matrix representation of  the "hyperbolic" quaternions.
Try the following:
e[0]:matrix([1,0],[0,1]);
e[1]:matrix([0,1],[1,0]);
e[2]:matrix([0,%i],[-%i,0]);
e[3]:matrix([1,0],[0,-1]);
for i:1 thru 3 do disp(e[i]^^2);
> each item will be the identity matrix
for i:1 thru 3 do for j:i+1 thru 3 do
  disp((1/2)*(e[i] . e[j]+e[j] . e[i]));
> each item will be the null matrix 
e[1] . e[2];
> the answer is: -i e[3]
e[2] . e[3];
> - i e[1] 
e[3] . e[1];
> -i e[2]
X:sum(x[i]*e[i],i,1,3);
expand(X^^2);
> the answer is: (x[1]^2 + x[2]^2 + x[3]^2) e[0]
With:
I:%i*e[1];
J:%i*e[2];
K:%i*e[3];
one retrieves Hamiltons' rules for his beloved quaternions
[I^^2, J^^2, K^^2];
> each item is - e[0]; thus I^^2 = J^^2 = K^^2 = - 1
I . J . K;
> - e[0]; thus I.J.K = -1.
With n=4 the set of e[i] is the set of the Dirac matrices.
Regards, Rene' Grognarddositheus at hotmail.com > ------------------------------

> 2. Re: matrix square (Barton Willis)

> Message: 2

> Date: Sat, 29 Dec 2012 16:04:59 +0000

> From: Barton Willis <willisb at unk.edu>

> To: Stavros Macrakis <macrakis at alum.mit.edu>, Aleksas Domarkas

> <aleksasd873 at gmail.com>

> Cc: maxima <maxima at math.utexas.edu>

> Subject: Re: [Maxima] matrix square

> 

> > Maxima is unable to solve the system, e.g. for X^^2-ident(2):

> 

> Ugh--this is pretty terrible, but I think it's correct.

> 

> (%i25) algsys(flatten(args(matrix([a,b],[c,d])^^2 - ident(2))),[a,b,c]);

> (%o25) [[a=-d,b=-(d^2-1)/%r2,c=%r2]]

> 

> --Barton

> ------------------------------