Rank1Elements - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

LieAlgebras[Rank1Elements] - calculate the rank 1 matrices in the span of a given list of matrices

Calling Sequences

     Rank1Elements(A, option)

     Rank1Elements(R, option)



   A        - a list of square matrices

   R        -  a representation of a Lie algebra

   S,T      -  lists of vectors in a Lie algebra, for each vector x in S and y in T, the Lie bracket [x, y] must belong to the subspace spanned by the vectors T

   option   -  (optional) the keyword argument, output = "Equations"



See Also



 Let A1, A2, ... , Ap be a list of square matrices and let A = t1A1 + t2 A2 + +tp Ap be their general linear combination. The command Rank1Elements calculates the values of the coefficients t1, t2, ..., tp so that the rank of the matrix A is 1.


For the second calling sequence the matrices A1, A2, ... , Ap are taken to be the matrices defining the representation of a Lie algebra. For the third calling sequence the matrices defined by the adjoints matrices of the elements of S, restricted to the subspace T, are used. For the second and third calling sequences, the command Rank1Elements will return a list of vectors in the Lie algebras.


The matrix A will have rank 1 if all the 2 ×2 sub-matrices have vanishing determinants. With the keyword argument output = "Equations", the list of these determinant values and the list of coefficients t1, t2, ..., tp is returned.


Rank 1 matrices play a special role in various prolongation theories for Lie algebras. See, for example, TanakaProlongation


with(DifferentialGeometry): with(LieAlgebras):


Example 1.

Define a list of 3×3 matrices.

alg1 > 

A := [Matrix([[1,0, 0], [0,1, 0], [0,0]]), Matrix([[0,1, 0], [0,0, 0], [0,0, 1]]), Matrix([[0, 0, 1], [0,0, 0], [0,0, 0]])];


Find all rank 1 matrices in the span of the matrices A.

A1 > 



Define a list of four 2×2 matrices whose span is all 2×2 matrices .

A1 > 

A := [Matrix([[1,0],[0,0]]), Matrix([[0,1],[0,0]]), Matrix([[0,0], [1,0]]), Matrix([[0,0], [0,1]])];


Find the general form of a 2× 2 matrix with rank 1.

A1 > 



Example 2.

Choose a Lie algebra from the database of Lie algebras and construct its adjoint representation.


A1 > 

LD := Library:-Retrieve("Winternitz", 1, [5, 36], alg3);




Lie algebra: alg3



Define a 5-dimensional space to serve as the representation space.

alg3 > 

DGsetup([x1, x2, x3, x4, x5], V);

frame name: V



Use the Adjoint command to define the adjoint representation.

alg3 > 

rho := Adjoint(alg3, representationspace = V);


Find the vectors in the Lie algebra whose adjoint matrices have rank 1.

alg3 > 





Example 3.

We use the Lie algebra defined in Example 2 to illustrate the third calling sequence. We calculate the vector in the span of e1, e2, e3 whose adjoint matrix, restricted to e1, e2, e3, e4, has rank 1.

alg > 

Rank1Elements([e1, e2, e3], [e1, e2, e3, e4]);


alg > 

A := Adjoint(_t1*e1+_t3*e3, [e1, e2, e3, e4]);


The result can be checked with the LinearAlgebra Rank command.

alg > 





The equations defining the rank 1 matrices are:

alg4 > 

Rank1Elements([e1, e2, e3], [e1, e2, e3, e4], output = "Equations");



See Also

DifferentialGeometry, LieAlgebras, LieAlgebraData, Retrieve, SymbolAlgebra, TanakaProlongation