Documentation contents

atlas Library · Script File

isomorphism.at

permutations relating Cartan matrices
isomorphism of root systems (local isomorphism)
isomorphism of root data (semisimple case (mainly))
Source
atlas-scripts/isomorphism.at (124 lines)
Definitions
7
Loads
Loaded by
subgroups.at isomorphism_W.at

Definitions in source order

root_permutations

L18root_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

L30root_permutation (RootDatum rd_1, RootDatum rd_2) = (bool,mat)
return (bool, one permutation matrix), reductive is allowed

local_isomorphism_long

L54local_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

L64local_isomorphism(RootDatum rd_1,RootDatum rd_2) = ratmat
return matrix of local isomorphism if it exists
abort with an error otherwise
note that the permutation is not returned
semisimple case only

isomorphism_long

L73isomorphism_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

L88isomorphism(RootDatum rd_1,RootDatum rd_2) = mat
return 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

L99is_isomorphic(RootDatum rd_1,RootDatum rd_2) = bool
boolean
 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).