Let LAB be a basis of $\mathfrak{g}$, and let $L$ be a list of $n \times n$ matrices with $\#L = \#LAB$. Let $\rho: \mathfrak{g} \rightarrow \mathfrak{gl}_n$ be the linear transformation defined by mapping $B_i$ in LAB to $L_i$. This function checks whether $\rho$ preserves the Lie bracket; that is, for each pair of indices $i,j$, if $[B_i,B_j] = \sum c_{ijk} B_k$, then is $[\rho(B_i),\rho(B_j)] = \sum c_{ijk} \rho(B_k)$?
In the example below, we compute the adjoint representation of $sl_3$ directly, and check that the list of matrices we obtain defines a Lie algebra representation.
i1 : sl3 = simpleLieAlgebra("A",2);
|
i2 : LAB = lieAlgebraBasis("A",2);
|
i3 : br = LAB#"Bracket";
|
i4 : writeInBasis = LAB#"WriteInBasis";
|
i5 : B = LAB#"BasisElements"
o5 = {| 1 0 0 |, | 0 0 0 |, | 0 1 0 |, | 0 0 0 |, | 0 0 1 |, | 0 0 0 |, | 0
| 0 -1 0 | | 0 1 0 | | 0 0 0 | | 0 0 1 | | 0 0 0 | | 1 0 0 | | 0
| 0 0 0 | | 0 0 -1 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0 0 0 | | 0
------------------------------------------------------------------------
0 0 |, | 0 0 0 |}
0 0 | | 0 0 0 |
1 0 | | 1 0 0 |
o5 : List
|
i6 : ad = X -> transpose matrix apply(B, Y -> writeInBasis br(X,Y))
o6 = ad
o6 : FunctionClosure
|
i7 : L1 = apply(B, X -> ad X)
o7 = {| 0 0 0 0 0 0 0 0 |, | 0 0 0 0 0 0 0 0 |, | 0 0 0 0 0 1 0 0 |,
| 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 |
| 0 0 2 0 0 0 0 0 | | 0 0 -1 0 0 0 0 0 | | -2 1 0 0 0 0 0 0 |
| 0 0 0 -1 0 0 0 0 | | 0 0 0 2 0 0 0 0 | | 0 0 0 0 0 0 0 0 |
| 0 0 0 0 1 0 0 0 | | 0 0 0 0 1 0 0 0 | | 0 0 0 1 0 0 0 0 |
| 0 0 0 0 0 -2 0 0 | | 0 0 0 0 0 1 0 0 | | 0 0 0 0 0 0 0 0 |
| 0 0 0 0 0 0 1 0 | | 0 0 0 0 0 0 -2 0 | | 0 0 0 0 0 0 0 -1 |
| 0 0 0 0 0 0 0 -1 | | 0 0 0 0 0 0 0 -1 | | 0 0 0 0 0 0 0 0 |
------------------------------------------------------------------------
| 0 0 0 0 0 0 0 0 |, | 0 0 0 0 0 0 0 1 |, | 0 0 -1 0 0 0 0 0 |, |
| 0 0 0 0 0 0 1 0 | | 0 0 0 0 0 0 0 1 | | 0 0 0 0 0 0 0 0 | |
| 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 1 0 | | 0 0 0 0 0 0 0 0 | |
| 1 -2 0 0 0 0 0 0 | | 0 0 0 0 0 -1 0 0 | | 0 0 0 0 1 0 0 0 | |
| 0 0 -1 0 0 0 0 0 | | -1 -1 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | |
| 0 0 0 0 0 0 0 1 | | 0 0 0 0 0 0 0 0 | | 2 -1 0 0 0 0 0 0 | |
| 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | |
| 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 -1 0 | |
------------------------------------------------------------------------
0 0 0 0 0 0 0 0 |, | 0 0 0 0 -1 0 0 0 |}
0 0 0 -1 0 0 0 0 | | 0 0 0 0 -1 0 0 0 |
0 0 0 0 -1 0 0 0 | | 0 0 0 0 0 0 0 0 |
0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 |
0 0 0 0 0 0 0 0 | | 0 0 0 0 0 0 0 0 |
0 0 0 0 0 0 0 0 | | 0 0 0 -1 0 0 0 0 |
-1 2 0 0 0 0 0 0 | | 0 0 1 0 0 0 0 0 |
0 0 0 0 0 1 0 0 | | 1 1 0 0 0 0 0 0 |
o7 : List
|
i8 : isLieAlgebraRepresentation(LAB,L1)
o8 = true
|