find the basis for a Jordan algebra of matrices - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : LieAlgebras : DifferentialGeometry/LieAlgebras/JordanMatrices

LieAlgebras[JordanMatrices] - find the basis for a Jordan algebra of matrices

LieAlgebras[JordanProduct] - find the Jordan product of two Jordan matrices

Calling Sequences

     JordanMatrices(n, alg, option )

     JordanProduct(A, B)

Parameters

     n        - an integer

     alg      - a name or string of an initialized algebra, the string "R" or the string "C"

     option   - the keyword argument signature = [p, q], where p and q are integers and p + q = n

     A, B     - square matrices

 

Description

Examples

Description

• 

 Let 𝔸 be the algebra of real numbers, the complex numbers, the quaternions, the octonions, or one of their split versions. A Jordan matrix J is a square matrix with entries in 𝔸 which is Hermitian with respect to the conjugation in the algebra, that is, J = J. More generally, if Ipq is the n × n diagonal matrix Ipq=Ip00Iq and IpqJ = JIpq , then J is called a Jordan matrix with respect to Ipq . The set of such matrices is always a real vector space.

• 

The command JordanMatrix(n, alg) returns a list of matrices which form a basis for the real vector space of n × n square matrices with entries in 𝔸 . With the keyword argument signature = [p, q] a basis for the Jordan matrices with respect to Ipq is determined.

• 

The Jordan product of 2 Jordan matrices A and B is the symmetric product A B =1/2AB +BA. The set of Jordan matrices with Jordan product is an algebra which is denoted by 𝕁n,𝔸 or 𝕁n, 𝔸, Ipq.

• 

The structure equations for a general Jordan algebra can be calculated with the command AlgebraData. The structure equations for a few low dimensional Jordan algebras are also available through the command AlgebraLibraryData.

Examples

with(DifferentialGeometry): with(LieAlgebras): with(Tools):

 

Example 1.

In this example we construct a basis for the Jordan algebra of 3 ×3 matrices over the quaternions. The first step is to use the command AlgebraLibraryData to retrieve the structure equations for the quaternions.

AD := AlgebraLibraryData("Quaternions", Q);

AD:=e12=e1,e1.e2=e2,e1.e3=e3,e1.e4=e4,e2.e1=e2,e22=e1,e2.e3=e4,e2.e4=e3,e3.e1=e3,e3.e2=e4,e32=e1,e3.e4=e2,e4.e1=e4,e4.e2=e3,e4.e3=e2,e42=e1

(2.1)

 

Initialize this algebra.

DGsetup(AD, '[e, i, j, k]', '[omega]');

algebra name: Q

(2.2)

 

Generate a basis for the Jordan algebra of 3 ×3 matrices over the quaternions.

M := JordanMatrices(3, Q);

M:=e0e0e0e0e0e0e0e0e,0e0e0e0ee0e0e0e0e,0e0e0e0e0e0e0e0ee,0ee0ee0e0e0e0e0e,0e0ee0e0e0ee0e0e,0e0e0e0e0ee0ee0e,0ei0ei0e0e0e0e0e,0ej0ej0e0e0e0e0e,0ek0ek0e0e0e0e0e,0e0ei0e0e0ei0e0e,0e0ej0e0e0ej0e0e,0e0ek0e0e0ek0e0e,0e0e0e0e0ei0ei0e,0e0e0e0e0ej0ej0e,0e0e0e0e0ek0ek0e

(2.3)

 

We form the general element of 𝕁3,ℚ and check it is Hermitian.

Q > 

C := [seq(c||n, n = 1 .. 15)];

C:=c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15

(2.4)
Q > 

J := evalDG(DGzip(C, M, "plus"));

J:=c1ec4e+c7i+c8j+c9kc5e+c10i+c11j+c12kc4ec7ic8jc9kc2ec6e+c13i+c14j+c15kc5ec10ic11jc12kc6ec13ic14jc15kc3e

(2.5)

 

Here is the conjugate transpose of J.

Q > 

Jdagger := DGconjugate(J)^+;

Jdagger:=c1ec4e+c7i+c8j+c9kc5e+c10i+c11j+c12kc4ec7ic8jc9kc2ec6e+c13i+c14j+c15kc5ec10ic11jc12kc6ec13ic14jc15kc3e

(2.6)

 

We see that J is Hermitian.

Q > 

J &MatrixMinus Jdagger;

0e0e0e0e0e0e0e0e0e

(2.7)

 

Now define two elements of 𝕁3,ℚ and calculate their Jordan product.

Q > 

A := evalDG(M[8] + M[12]);

A:=0ejkj0e0ek0e0e

(2.8)
Q > 

B := evalDG(M[7] + M[15]);

B:=0ei0ei0ek0ek0e

(2.9)
Q > 

JordanProduct(A, B);

0e12e12i12e0e12j12i12j0e

(2.10)

 

Example 2.

In this example we construct a basis for the 2 ×2 Jordan matrices over the split octonions with respect to the inner product I22 = 1001. First we retrieve the structure equations for the split octonions and initialize.

Q > 

AD := AlgebraLibraryData("Octonions", Os, type = "Split");

AD:=e12=e1,e1.e2=e2,e1.e3=e3,e1.e4=e4,e1.e5=e5,e1.e6=e6,e1.e7=e7,e1.e8=e8,e2.e1=e2,e22=e1,e2.e3=e4,e2.e4=e3,e2.e5=e6,e2.e6=e5,e2.e7=e8,e2.e8=e7,e3.e1=e3,e3.e2=e4,e32=e1,e3.e4=e2,e3.e5=e7,e3.e6=e8,e3.e7=e5,e3.e8=e6,e4.e1=e4,e4.e2=e3,e4.e3=e2,e42=e1,e4.e5=e8,e4.e6=e7,e4.e7=e6,e4.e8=e5,e5.e1=e5,e5.e2=e6,e5.e3=e7,e5.e4=e8,e52=e1,e5.e6=e2,e5.e7=e3,e5.e8=e4,e6.e1=e6,e6.e2=e5,e6.e3=e8,e6.e4=e7,e6.e5=e2,e62=e1,e6.e7=e4,e6.e8=e3,e7.e1=e7,e7.e2=e8,e7.e3=e5,e7.e4=e6,e7.e5=e3,e7.e6=e4,e72=e1,e7.e8=e2,e8.e1=e8,e8.e2=e7,e8.e3=e6,e8.e4=e5,e8.e5=e4,e8.e6=e3,e8.e7=e2,e82=e1

(2.11)
Q > 

DGsetup(AD);

algebra name: Os

(2.12)

 

Here are the Jordan matrices we seek.

Os > 

M := JordanMatrices(2, Os, signature = [1,1]);

M:=e10e10e10e1,0e1e1e10e1,0e1e2e20e1,0e1e3e30e1,0e1e4e40e1,0e1e5e50e1,0e1e6e60e1,0e1e7e70e1,0e1e8e80e1,0e10e10e1e1

(2.13)

 

We form the general element of 𝕁2,𝕆s and check that it is Hermitian.

Q > 

C := [seq(c||n, n = 1 .. 10)];

C:=c1,c2,c3,c4,c5,c6,c7,c8,c9,c10

(2.14)
Q > 

J := evalDG(DGzip(C, M, "plus"));

J:=c1e1c2e1+c3e2+c4e3+c5e4+c6e5+c7e6+c8e7+c9e8c2e1+c3e2+c4e3+c5e4+c6e5+c7e6+c8e7+c9e8c10e1

(2.15)

 

Here is the conjugate transpose of J.

Q > 

Jdagger := DGconjugate(J)^+;

Jdagger:=c1e1c2e1c3e2c4e3c5e4c6e5c7e6c8e7c9e8c2e1c3e2c4e3c5e4c6e5c7e6c8e7c9e8c10e1

(2.16)
Os > 

I22 := Matrix([[1, 0], [0, -1]]);

I22:=1001

(2.17)
Os > 

evalDG(I22.J) &MatrixMinus evalDG(Jdagger.I22);

0e10e10e10e1

(2.18)

 

Now define two elements of 𝕁2,ℚs and calculate their Jordan product.

Q > 

A := evalDG(M[8] + M[10]);

A:=0e1e7e7e1

(2.19)
Q > 

B := evalDG(M[1] + M[4]);

B:=e1e3e30e1

(2.20)
Q > 

JordanProduct(A, B);

0e112e3+12e712e3+12e70e1

(2.21)

See Also

DifferentialGeometry

LieAlgebras

AlgebraData

AlgebraLibraryData