LieAlgebras[Decompose] - decompose a Lie algebra into a direct sum of indecomposable Lie algebras
Calling Sequences
Decompose(Alg, saveAlg, method, factors, hint)
Parameters
Alg - (optional) the name of an initialized Lie algebra
saveAlg - (optional) equation of the form saveTemporaryAlgebras = TF, where TF is true or false
method - (optional) equation of the form method = "Indecomposable" or method = "AbsolutelyIndecomposable"
factors - (optional) equation of the form factoralgebras = TF, where TF is true or false
hint - (optional) a list of polynomials and their square-free factorizations, given in the form hint = [var, [polynomial1, [factors]], [polynomial2, [factors]], ... ]
Description
Examples
An (internal) direct sum decomposition of a Lie algebra 𝔤 is given by a collection of subalgebras 𝔤1, 𝔤2, ... , 𝔤N such that
[i] 𝔤 = 𝔤1+ 𝔤2+⋅⋅⋅ +𝔤N,
[ii] the intersection of any two distinct summands 𝔤i and 𝔤j, i≠j, is trivial, and
[iii] the Lie bracket of any two distinct summands 𝔤i and 𝔤j, i≠j, is trivial, that is, 𝔤i, 𝔤j≠ 0.
Decompose() will decompose the given Lie algebra g into an internal direct sum of subalgebras 𝔤 = 𝔤1+ 𝔤2+⋅⋅⋅ +𝔤N,where each summand 𝔤i is indecomposable. All abelian summands appear as a single factor. If no argument is given, then the decomposition of the current Lie algebra is found.
Decompose returns a list with 2 components [A, B\ where [i] A is a matrix which defines a Lie algebra isomorphism from g to the Lie algebra defined by the direct sum of the Lie algebras in the summand_list, and [ii] B is a basis for the original Lie algebra 𝔤 in which 𝔤 decomposes.
With saveTemporaryAlgebras = true, the Lie algebras created by the program as part of the decomposition algorithm are not erased and can be initialized for further analysis. Use this option in conjunction with userlevel[Decompose] := 2. The default is saveTemporaryAlgebras = false.
With method = AbsolutelyIndecomposable, the decomposition will be done over the complex numbers. The default is method= "Indecomposable".
With factoralgebras = true, the program will also return the Lie algebra structure data for each summand in the direct sum decomposition.
If Maple is unable to find a square-free factorization of certain minimal polynomials which arise, then a warning to this effect is given. The polynomials which need to be factored can be obtained from the procedure DifferentialGeometry:-Tools:-CalculationHistory:-Get("Decompose"). The square-free factors of these polynomials can be passed to Decompose with the hint option, for example, hint = [x, [x^2 - 1/2, [x - 1/sqrt(2), x + 1/sqrt(2)]].
This module implements the algorithm described in
[i] Patera, Winternitz and Zassenhaus, On the Identification of a Lie Algebra Given by its Structure Constants I. Direct Decompositions, Levi Decompositions and Nilradicals, Journal of Linear Algebra and its Applications, Vol. 109, (1988): 197-246.
[ii] W. D. Rand, Pascal programs for the identification of Lie algebras I, Comput. Phys. Comm. 41: 105--125 (1986)
The command Decompose is part of the DifferentialGeometry:-LieAlgebras package. It can be used in the form Decompose(...) only after executing the commands with(DifferentialGeometry) and with(LieAlgebras), but can always be used by executing DifferentialGeometry:-LieAlgebras:-Decompose(...).
with⁡DifferentialGeometry:with⁡LieAlgebras:
Example 1.
In this example we shall check that the output of Decompose does indeed lead to a decomposition of the algebra. First we initialize a Lie algebra and display the Lie bracket multiplication table.
L1≔_DG⁡LieAlgebra,Alg1,5,1,2,2,1,1,2,3,1,1,3,2,−1,1,3,3,−1,1,4,1,1,1,4,2,−1,1,4,3,−1,2,3,2,−1,2,3,3,−1,2,5,2,−1,2,5,3,−1,3,5,2,1,3,5,3,1,4,5,2,1,4,5,3,1,4,5,5,−1:
DGsetup⁡L1:
MultiplicationTable⁡LieTable
`|`e1e2e3e4e5-----------------------e1`|`0e2+e3−e2−e3e1−e2−e30e2`|`−e2−e30−e2−e30−e2−e3e3`|`e2+e3e2+e300e2+e3e4`|`−e1+e2+e3000e2+e3−e5e5`|`0e2+e3−e2−e3−e2−e3+e50
Decompose this Lie algebra.
decomposition≔Decompose⁡
decomposition:=10000−1000−1000101100110101,e1−e5,e2+e3−e5,e4,e2,e3
To check this answer we first create the Lie algebra defined by the vectors in the second component of the answer. This shows explicitly that the Lie algebra Alg1 decomposes into the direct sum of a 3 dimensional and a 2-dimensional Lie algebra.
newBasis≔decomposition2
newBasis ≔ e1−e5,e2+e3−e5,e4,e2,e3
L2≔LieAlgebraData⁡newBasis,Alg2:
DGsetup⁡L2
Lie algebra: Alg2
`|`e1e2e3e4e5-----------------------e1`|`00e100e2`|`00e200e3`|`−e1−e2000e4`|`0000−e4−e5e5`|`000e4+e50
We check that the matrix decomposition[1] defines a Lie algebra isomorphism from Alg1 to Alg2.
A≔decomposition1
A:=10000−1000−1000101100110101
Query⁡Alg1,Alg2,A,Homomorphism
true
Example 2.
In this example we show how to use the hint option. First we initialize a Lie algebra and display the Lie bracket multiplication table.
L≔_DG⁡LieAlgebra,Alg3,4,1,3,2,−2,1,4,1,−1,2,3,1,−1,2,4,2,−1
DGsetup⁡L:
L ≔ e1,e3=−2⁢e2,e1,e4=−e1,e2,e3=−e1,e2,e4=−e2
Decompose⁡:
Warning, the Lie algebra "Alg3:2" is decomposable but an explicit decomposition could not be constructed. See CalculationHistory and rerun Decompose with optional argument hint.
From this we conclude that the algebra is decomposable but that a decomposition could not be constructed because Maple was unable to factor a certain polynomial which arises in the decomposition algorithm. We can use the program DifferentialGeometry:-Tools:-CalculationHistory:-Get to see what this polynomial is.
DifferentialGeometry:-Tools:-CalculationHistory:-Get⁡Decompose
Alg3,−1+_z1,−12+_z12
The problem is that Maple could not factor -12 + _z2. So we factor by hand and rerun the program. We find a non-rational change of basis that will decompose the algebra.
Decompose⁡hint=x,x2−12,x−1sqrt⁡2,x+1sqrt⁡22
e1+2⁢e2,e3+2⁢e4,e1−2⁢e2,e3−2⁢e4
Example 3.
In this example we decompose an algebra over the complex numbers. First we initialize a Lie algebra and display the Lie bracket multiplication table.
L3≔_DG⁡LieAlgebra,Alg3,4,1,3,1,1,2,4,1,1,1,4,2,−1,2,3,2,1
L3 ≔ e1,e3=e1,e1,e4=−e2,e2,e3=e2,e2,e4=e1
DGsetup⁡L3:
To decompose over the complex numbers, we use the optional argument method = "AbsolutelyIndecomposable". In addition, to effect a decomposition over the complex numbers, it will be necessary to provide some polynomial factorizations over the complex numbers. See Example 2.
Decompose⁡method=AbsolutelyIndecomposable,hint=x,x2+1,x−I,x+I2
e1+e2⁢I,e3−I⁢e4,e1−I⁢e2,e3+e4⁢I
Example 4.
In this example we calculate the decomposition of the real Lie algebra so4. The computations can be examined by setting infolevel[Decompose] to 2 or 3. With a value of 2, an outline of the main steps is displayed while a value of 3 provides all the intermediate steps.
L≔_DG⁡LieAlgebra,so4,6,1,2,4,−1,1,3,5,−1,1,4,2,1,1,5,3,1,2,3,6,−1,2,4,1,−1,2,6,3,1,3,5,1,−1,3,6,2,−1,4,5,6,−1,4,6,5,1,5,6,4,−1
L ≔ e1,e2=−e4,e1,e3=−e5,e1,e4=e2,e1,e5=e3,e2,e3=−e6,e2,e4=−e1,e2,e6=e3,e3,e5=−e1,e3,e6=−e2,e4,e5=−e6,e4,e6=e5,e5,e6=−e4
DGsetup⁡L
Lie algebra: so4
infolevelDecompose≔3
infolevelDecompose ≔ 3
Step 1: Use Query to determine indecomposability of : so4
the Lie algebra so4 is decomposable
Step 2: Performing central decomposition
Detailed calculations for central decomposition
[i] center = C = []
[ii] derived algebra = DA = [-e4, -e5, e2, e3, -e6, -e1]
[iii] intersection of center and derived algebra = M = []
[iv] central factor = complement of M in C = []
End of detailed calculations for central decomposition
central decomposition is trivial
Step 3 Start:
ToBeDecomposedFactors = [_DG([["LieAlgebra", "so4:2", [6]], [[[1, 2, 4], -1], [[1, 3, 5], -1], [[1, 4, 2], 1], [[1, 5, 3], 1], [[2, 3, 6], -1], [[2, 4, 1], -1], [[2, 6, 3], 1], [[3, 5, 1], -1], [[3, 6, 2], -1], [[4, 5, 6], -1], [[4, 6, 5], 1], [[5, 6, 4], -1]]])[1][2]]
IndecomposableFactors = []
Step 3.1 Start: Decomposing the algebra "so4:2"
Detailed Calculations :
[i] the matrix representatives S for the centralizer of Adjoint, modulo its Jacobson radical are :
S[1] = Matrix(6, 6, {NULL}, storage = empty, shape = [identity])
S[2] = Matrix(6, 6, [[0,0,0,0,0,1],[0,0,0,0,-1,0],[0,0,0,1,0,0],[0,0,1,0,0,0],[0,-1,0,0,0,0],[1,0,0,0,0,0]])
the algebra "so4:2" is decomposable
[ii] the miminal polynomials P for the matrices S are :
P = [-1+_z1, -1+_z1^2]
[iii] the following relatively prime factorization of the polynomial P[2] will be used:
-1+_z1^2 = [_z1+1, -1+_z1]
[iv] the projection matrices onto the summands of the decomposition are:
N1 = Matrix(6, 3, [[1,0,0],[0,1,0],[0,0,1],[0,0,-1],[0,1,0],[-1,0,0]])
N2 = Matrix(6, 3, [[1,0,0],[0,1,0],[0,0,1],[0,0,1],[0,-1,0],[1,0,0]])
factor 1 = "so4:3" = [e1-e6, e2+e5, e3-e4]
_DG([["LieAlgebra", "so4:3", [3]], [[[1, 2, 3], 2], [[1, 3, 2], -2], [[2, 3, 1], 2]]])
factor 2 = "so4:4" = [e1+e6, e2-e5, e3+e4]
_DG([["LieAlgebra", "so4:4", [3]], [[[1, 2, 3], -2], [[1, 3, 2], 2], [[2, 3, 1], -2]]])
Step 3.1 End:
ToBeDecomposedFactors = [_DG([["LieAlgebra", "so4:3", [3]], [[[1, 2, 3], 2], [[1, 3, 2], -2], [[2, 3, 1], 2]]])[1][2], _DG([["LieAlgebra", "so4:4", [3]], [[[1, 2, 3], -2], [[1, 3, 2], 2], [[2, 3, 1], -2]]])[1][2]]
Step 3.2 Start: Decomposing the algebra "so4:4"
S[1] = Matrix(3, 3, {NULL}, storage = empty, shape = [identity])
the algebra "so4:4" is indecomposable
Step 3.2 End:
ToBeDecomposedFactors = [_DG([["LieAlgebra", "so4:3", [3]], [[[1, 2, 3], 2], [[1, 3, 2], -2], [[2, 3, 1], 2]]])[1][2]]
IndecomposableFactors = [_DG([["LieAlgebra", "so4:4", [3]], [[[1, 2, 3], -2], [[1, 3, 2], 2], [[2, 3, 1], -2]]])[1][2]]
Step 3.3 Start: Decomposing the algebra "so4:3"
the algebra "so4:3" is indecomposable
Step 3.3 End:
ToBeDecomposedFactors = []
IndecomposableFactors = [_DG([["LieAlgebra", "so4:3", [3]], [[[1, 2, 3], 2], [[1, 3, 2], -2], [[2, 3, 1], 2]]])[1][2], _DG([["LieAlgebra", "so4:4", [3]], [[[1, 2, 3], -2], [[1, 3, 2], 2], [[2, 3, 1], -2]]])[1][2]]
Step 3 End:
Step 4: Sorting the summands in the IndecomposableFactors list and appending the central abelian Factor
decomposition:=120000−12012001200012−12001200001201200−12000121200,e1−e6,e2+e5,e3−e4,e1+e6,e2−e5,e3+e4
See Also
DifferentialGeometry
CalculationHistory
infolevel
LieAlgebras
LieAlgebraData
MultiplicationTable
Query[Homomorphism]
Query[Indecomposable]
Download Help Document