Documentation contents

atlas Library · Script File

conjugate.at

Goal: given two sub-root systems of |rd| associated to pseudo Levi subgroups,
  find, and count, Weyl elements |w| taking one to the other

N.B. If these are Levi subsystems, this can be done efficiently by using
  a |StdLeviFinder| like |Levi_lookup(rd,orbits_table(rd))|, which for both
  subsystems will find a conjugate standard Levi subgroup, with a witness.
  The functions here however do not require de sub-rootsystem to be saturated.
Source
atlas-scripts/conjugate.at (160 lines)
Definitions
14
Loads
Loaded by
good_W_representatives.at subgroups.at twisted_root_datum.at character_table_reps.at

Definitions in source order

centralizer

L20centralizer(RootDatum rd,mat wts) = RootDatum
root datum of coroots perpendicular to all columns of |wts|

also defined in good_W_representatives.at, nilpotent_centralizer.at, K_highest_weights.at, subgroups.at, cyclotomic_Lie_algebra.at, bracket.at, weyl_character_formula.at

move_by_Levi

L24move_by_Levi (RootDatum rd,[int]Levi,int alpha,int beta) = Maybe<WeylElt>
in spite of the name, this works for pseudo Levi subsystems as well

transporter

L32transporter(RootDatum rd, [int] mamas, [int] papas) = Maybe<([int],WeylElt)>
Find all Weyl group elements that send the |mamas| in order to the |papas|;
the result is in general a right coset for a Levi subgroup, which we return.
(L,w) represents right coset |Levi_of(L)*w|

maybe_conjugate_strict

L53maybe_conjugate_strict (RootDatum rd,[vec] A,[vec] B) = Maybe<WeylElt>
similar, but forget the Levi subgroup, return just a coset representative
Now try all permutations, intelligently
L60

permuting_transporter

L65permuting_transporter(RootDatum rd, [int] mamas, [int] papas) = Maybe<(WeylElt)>
Find some Weyl group element that sends the |mamas| in to the |papas|
as sets of root indices, possibly permuting them.

is_conjugate_weak 2 overloads

L97is_conjugate_weak (RootDatum rd,RootDatum sub1,RootDatum sub2) = bool
L99is_conjugate_weak (RootDatum sub1,RootDatum sub2,RootDatum rd) = bool

standard_Levi_and_witness

L106standard_Levi_and_witness (RootDatum rd,RootDatum rd_L) = (RootDatum,WeylElt)
which standard Levi is conjugate to (the non-standard) L, and by which w?
actually: makes a choice from a list of representatives of conjugacy classes
of Levi subgroups. Here |L| can be non-standard, but even if it is standard
it will return another Levi in case it isn't the elected representative
our convention is inverse for |w|
L111

standard_Levi

L113standard_Levi ((RootDatum,RootDatum) args) = RootDatum

standard_Levi_witness

L117standard_Levi_witness ((RootDatum,RootDatum) args) = WeylElt
return a WeylElt, assumed to exist, taking rd_L to a standard Levi root datum

Levi_witness

L122Levi_witness(RootDatum rd, RootDatum rd_L,RootDatum rd_M) = WeylElt
witness of conjugation from |rd_L| to |rd_M|, using standard Levi in |rd|

normalizer_classes

L129normalizer_classes (RootDatum rd,[int] sub_simples) = [WeylElt]
classes of (pseudo-)Levi normalizer, modulo its centralizer

normalizer_iterator

L146normalizer_iterator ((RootDatum,[int])(rd,sub_simples):args) = Iterator<WeylElt>
enumerate the full normalizer of a pseudo Levi subgroup

normalizer

L158normalizer (RootDatum rd_L,RootDatum rd) = [WeylElt]

also defined in subgroups.at

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