Compute the Killing form for the Lie algebra sl(n,F) > restart; > interface(rtablesize=infinity): > with(LinearAlgebra): Can set the upper variable to be as high as you want. Computes the Killing forms from 1 to N. Note that for n=1, the Killing form has determinant 0 (only the zero matrix lives in sl(1,C)). > N := 10: > for n from 2 to N do > #Load the matrices - first the diagonal ones > for i from 1 by 1 to n-1 do > M[i] := Matrix(n); > M[i](i,i) := 1; > M[i](i+1,i+1) := -1; > end do: > #Counter for non diagonal basis matrix entries. > ctr := n: > for i from 1 by 1 to n do > for j from 1 by 1 to n do > if(i <> j) then > M[ctr] := Matrix(n); > M[ctr](i,j) := 1; > ctr := ctr +1; > end if > end do: > end do: > A := Matrix(n^2-1): > #Use the fact that the Killing form is 2nTr(xy) > for i from 1 by 1 to n^2-1 do > for j from 1 by 1 to n^2-1 do > A(i,j) := 2*n*Trace(M[i].M[j]): > end do: > end do: > print(Determinant(A)); > end do: -128 -5038848 140737488355328 5000000000000000000000000 -354400937492545922690672153504784580608 -72317557999158469111384459491956546088110808312359944192 5789604461865809771178549250434395392663499233282028201972879200\ 3956564819968 2377075181545648673322673694070617151729279988760376752582280070\ 49681544211307650055565541375563792384 -633825300114114700748351602688000000000000000000000000000000000\ 0000000000000000000000000000000000000000000000000000000000\ 000000000