Documentation contents

atlas Library · Script File

coordinates.at

Source
atlas-scripts/coordinates.at (50 lines)
Definitions
12
Loads
Loaded by
G2_unitary_dual.at

Definitions in source order

Commented-out code, lines 3–17 (14 lines)
change of basis matrices between given simple_roots(rd) and
user's my_roots
columns of my_roots are simple roots in user's preferred coordinates,
each root is a ratvec (vec is allowed also)
my_roots has semi-simple rank(rd) columns, but is not necessarily square
set C=change_basis(rd,my_roots)
set D=inverse_change_basis(rd,my_roots)
D*my_roots=simple_roots(rd)
C*simple_roots(rd)=my_roots
D*C=id_mat(semi_simple_rank(rd))
D*[v]_{my_basis}=[v]_{simple_roots(rd) basis}
C*[v]_{simple_roots(rd) basis}=[v]_{my_basis}
theta given in basis simple_roots(rd) ->
C*theta*D in my_basis
need some routines for rational matrices from ratmat.at
L19
multiplication of rational matrices, and mat*rational matrix
L20
transpose of rational matrix
L21
convert rational matrix to integral one if possible
L22

change_basis 3 overloads

L27change_basis(RootDatum rd,ratmat my_roots) = ratmat
columns of A are coordinates of simple roots in user's preferred coordinate system
my_roots=[ratvec] or [vec]
L28change_basis(RootDatum rd, [ratvec] my_roots) = ratmat
L29change_basis(RootDatum rd, mat my_roots) = ratmat

also defined in K_Nilpotent.at

integral_change_basis 3 overloads

L32integral_change_basis(RootDatum rd,ratmat my_roots) = mat
return intetgral matrix if possible
L33integral_change_basis(RootDatum rd,[ratvec] my_roots) = mat
L34integral_change_basis(RootDatum rd,mat my_roots) = mat

inverse_change_basis 3 overloads

L43inverse_change_basis(RootDatum rd, ratmat my_roots)
rational matrix D satisfying: D*my_roots=simple_roots(rd)
this is not just the inverse of C if these matrices are not square, i.e.
rank > semisimple_rank
D=simple_roots(rd)*left_inverse(my_roots)
where left_inverse is left_inverse(A)=^[A(^AA)^{-1}]
L44inverse_change_basis(RootDatum rd, [ratvec] my_roots)
L45inverse_change_basis(RootDatum rd, mat my_roots)

integral_inverse_change_basis 3 overloads

L48integral_inverse_change_basis(RootDatum rd,ratmat my_roots) = mat
return intetgral matrix if possible
L49integral_inverse_change_basis(RootDatum rd,[ratvec] my_roots) = mat
L50integral_inverse_change_basis(RootDatum rd,mat my_roots) = mat

Generated from atlas-scripts at commit 648506c (2026-10-13).