atlas Library · Script File
isomorphism.at
permutations relating Cartan matrices isomorphism of root systems (local isomorphism) isomorphism of root data (semisimple case (mainly))
Definitions in source order
root_permutations
L18
root_permutations(RootDatum rd_1,RootDatum rd_2) = [mat]find all Dynkin diagram isomorphisms: maps $f: #rank(rd1) -> #rank(rd2)$
transforming the Cartan matrices: $C_1[i,j]=C_2[f(i),f(j)]$ for all $i,j$,
where $C_k$ is the Cartan matrix of $rd_k$. This $f$ is represented by its
permutation matrix, the one the sends $e_j$ to $e_{f(j)}$, so $PC_1=C_2P$.
If the Dynkin diagrams are not isomorphic, this returns an empty list.
root_permutation
L30
root_permutation (RootDatum rd_1, RootDatum rd_2) = (bool,mat)return (bool, one permutation matrix), reductive is allowed
local_isomorphism_long
L54
local_isomorphism_long(RootDatum rd_1,RootDatum rd_2) = (bool,ratmat,mat)find g\in GL(n,Q) and permutation matrix P so that
P is a root_permutation (as above), i.e.
P*Cartan_matrix_1=Cartan_matrix_2*P
gR_1=R_2P (R_i = simple roots in rd_i)
these imply
^gS_2=S_1P^{-1}
this implies <\alpha,\beta^v>_1=<g\alpha,^g\beta^v>_2
this gives an isomorphism of root *systems*, i.e.
a local isomorphism since g,g^{-1} are
in GL(n,Q) not necessarily GL(n,Z)
g gives an isomorphism of root systems (local isomorphism)
it also gives an isomorphism of root data if and only if g and g^{-1}
are both integral matrices
semisimple case only
local_isomorphism
L64
local_isomorphism(RootDatum rd_1,RootDatum rd_2) = ratmatreturn matrix of local isomorphism if it exists abort with an error otherwise note that the permutation is not returned semisimple case only
isomorphism_long
L73
isomorphism_long(RootDatum rd_1,RootDatum rd_2) = (bool,mat,mat)to find an actual isomorphism, need to try all possible permutations for example SL(2)xPGL(2) -> PGL(2)xSL(2) also SO(8) has 6 local isomorphisms, only 1 non-trivial isomorphism return (bool, matrix g, permutation P) satisfying gR_1=R_2P semisimple case only
isomorphism
L88
isomorphism(RootDatum rd_1,RootDatum rd_2) = matreturn matrix of isomorphism if it exists abort with an error otherwise note that the permutation is not returned return value satisfies: gR_1=R_2P for some permutation P semisimple case only
is_isomorphic
L99
is_isomorphic(RootDatum rd_1,RootDatum rd_2) = boolboolean gives the correct answer if both root data are semimple also: in reductive case, correctly returns false if the groups are not locally isomorphic abort with an error if: the root data are locally isomorphic but not semisimple
also defined in W_reps.at, lietypes.at
G_ss x torus A\center G_ss map: phi:A->torus G_ss x torus/<a,phi(a)> question: are two sublattices of finite index in Z^n: conjugate by GL(n,Z)? classifying real tori: (Z^n,theta) basis: theta = (1,1,....,-1,....,(swaps)...)L111
Generated from atlas-scripts at commit 648506c (2026-10-13).