Documentation contents

atlas Library · Script File

bracket.at

Lie bracket
Source
atlas-scripts/bracket.at (324 lines)
Definitions
58
Loads
Loaded by
cyclotomic_Lie_algebra.at

Definitions in source order

LieAlgebraElement type

L14
set_type LieAlgebraElement=(StructureConstantTable t,(ratvec,ratvec) X)

Fields: t, X

data type for an element of a reductive Lie algebra Q
N=number of roots
n=rank
X=ratvec of size N <-> \sum_{i=0}^{N-1} x_i X_i where X_i are the root vectors
H=ratvec of size n <-> X_* in atlas coordinates
arbitrary element of \g: (X,H)

root_datum

L15root_datum(LieAlgebraElement (t,)) = RootDatum

also defined in basic.at, W_reps.at, K_Nilpotent.at, sommers.at, parabolics.at, K.at, nilpotent_orbits.at, W_classes.at, extended_misc.at, character_tables.at, springer_tables.at, disconnected.at, cyclotomic_Lie_algebra.at, exceptional.at

root_part

L16root_part(LieAlgebraElement(,(v,))) = ratvec

also defined in cyclotomic_Lie_algebra.at

semisimple_part

L17semisimple_part(LieAlgebraElement(,(,v))) = ratvec

also defined in center.at, cyclotomic_Lie_algebra.at

H

L18H(LieAlgebraElement X) = ratvec

also in this file at line 151; also defined in groups.at, cyclotomic_Lie_algebra.at, exceptional.at

=

L19=(LieAlgebraElement X,LieAlgebraElement Y) = bool

also in this file at line 22; also defined in basic.at, combinatorics.at, modules.at, parabolics.at, synthetic.at, hash.at, tits.at, K_highest_weights.at, nilpotent_orbits.at, cyclotomic.at, polynomial.at, W_reps_type_BC.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, extended.at, disconnected.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at

null

L21null(StructureConstantTable t) = LieAlgebraElement
ss_
ss_?

also defined in all_finite_order.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at

=

L22=(LieAlgebraElement X) = bool

also in this file at line 19; also defined in basic.at, combinatorics.at, modules.at, parabolics.at, synthetic.at, hash.at, tits.at, K_highest_weights.at, nilpotent_orbits.at, cyclotomic.at, polynomial.at, W_reps_type_BC.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, extended.at, disconnected.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at

+

L23+(LieAlgebraElement X,LieAlgebraElement Y) = LieAlgebraElement

also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, hodge_functions.at, lazy_lists.at

*

L27*(rat c,LieAlgebraElement X) = LieAlgebraElement

also defined in basic.at, extParamPol.at, complex.at, modules.at, hodge_tensor.at, tits_centralizer.at, stable.at, synthetic.at, Weylgroup.at, group_operations.at, ratmat.at, tits.at, twisted_root_datum.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, hodge_functions.at, sparse.at, lazy_lists.at

coordinates

L31coordinates(LieAlgebraElement X)
(t,v,w)-> v##w

also in this file at line 63, line 69; also defined in cyclotomic_Lie_algebra.at

lie_algebra_element

L34lie_algebra_element(StructureConstantTable t,ratvec v)
element of Lie algebra coming from ratvec of size n+N=dim(\g)

also defined in cyclotomic_Lie_algebra.at

lie_algebra_element_semisimple

L37lie_algebra_element_semisimple(StructureConstantTable t,ratvec v)

also defined in cyclotomic_Lie_algebra.at

lie_algebra_element_root_vectors

L38lie_algebra_element_root_vectors(StructureConstantTable t,ratvec v)

also defined in cyclotomic_Lie_algebra.at

basis

L41basis(StructureConstantTable t,int i) = LieAlgebraElement
1\le i\le dim\g -> (t,(v,w)) where either v or w has exactly one entry 1

show

L44show(LieAlgebraElement X) = void

also defined in modules.at, K_Nilpotent.at, good_W_representatives.at, arthur_parameters.at, sub_cells.at, associated_variety_annihilator.at, geck_generic.at, L_packet.at, ratmat.at, Levi_subgroups.at, nilpotent_orbits.at, subgroups.at, poset.at, cyclotomic.at, polynomial.at, character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, weak_packets.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, exceptional.at, nilpotent_posets.at, lazy_lists.at

format

L48format(LieAlgebraElement X) = string
nice string representation of LieAlgebraElement

also defined in cyclotomic.at, polynomial.at, extended_misc.at, cyclotomicMat.at

root_part_array

L57root_part_array(LieAlgebraElement X) = [(rat,vec)]

also defined in cyclotomic_Lie_algebra.at

show_long

L60show_long(LieAlgebraElement X) = void

also defined in character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, hodgeParamPol.at, weak_packets.at, cyclotomic_Lie_algebra.at, exceptional.at

coordinates 2 overloads

L63coordinates(RootDatum rd,vec alpha) = vec
coordinates of X_alpha: [0,...,1,..0] (N-tuple)
L69coordinates(RootDatum rd) = (vec->vec)

also in this file at line 31; also defined in cyclotomic_Lie_algebra.at

support

L72support(LieAlgebraElement X) = [vec]

also defined in parabolics.at, nilpotent_orbits.at, W_reps_type_BC.at, cyclotomic_Lie_algebra.at

bracket_root_term

L82bracket_root_term(LieAlgebraElement X,LieAlgebraElement Y) = LieAlgebraElement
[X,Y] =[(X.root_term,X.H),(Y.root_term,Y.H)]=
[X.root_term,Y.root_term] + other terms
this function returns just the root term of this bracket
(not the torus part which may also be nonzero)
this is computed from the structure constant table

also defined in cyclotomic_Lie_algebra.at

bracket_torus_term

L100bracket_torus_term(LieAlgebraElement X,LieAlgebraElement Y) = LieAlgebraElement
torus term, coming from [X_alpha,X_-alpha]

also defined in cyclotomic_Lie_algebra.at

bracket_off_diagonal_terms

L118bracket_off_diagonal_terms(LieAlgebraElement X,LieAlgebraElement Y) = LieAlgebraElement
[X,Y]=(X.root_terms,X.H),(Y.root_terms,Y.H)] -> [X.H,Y.root_terms] + [X.H,Y.root_terms],
which gives a term \sum_1^N a_i X_i

also defined in cyclotomic_Lie_algebra.at

bracket

L140bracket(LieAlgebraElement X,LieAlgebraElement Y) = LieAlgebraElement
put the three bracket calculations together

also defined in cyclotomic_Lie_algebra.at

X_alpha 2 overloads

L145X_alpha(StructureConstantTable t,int i) = LieAlgebraElement
root -> (v,null(rank)) where v=e(N,i)=1 in i^th spot, i=# of root in rd.roots
set X_alpha(StructureConstantTable t,int i)=LieAlgebraElement:(t,(e(#t.root_datum.roots,i),null(#t.root_datum.simple_roots)))
L147X_alpha(StructureConstantTable t,vec alpha) = LieAlgebraElement

also defined in cyclotomic_Lie_algebra.at

H

L151H(StructureConstantTable t,vec h) = LieAlgebraElement
H(t,h)=(t,null(N),h)

also in this file at line 18; also defined in groups.at, cyclotomic_Lie_algebra.at, exceptional.at

X 2 overloads

L154X(StructureConstantTable t,(vec alpha,vec h)) = LieAlgebraElement
(t,alpha,h)=(t,v,h) where v=root_term(t,alpha)
L156X(StructureConstantTable t,vec alpha,vec h) = LieAlgebraElement
alternative format

also defined in cyclotomic_Lie_algebra.at, lazy_lists.at

solve_ad

L162solve_ad(LieAlgebraElement X,LieAlgebraElement Z) = Maybe<ratvec>
solve ad(X)(Y)=Z for Y

two_eigenspace 2 overloads

L166two_eigenspace(RootDatum rd,ratvec H) = [vec]
2-eigenspace of ad(H): as list of roots
L170two_eigenspace(StructureConstantTable t,ratvec H) = [LieAlgebraElement]
2-eigenspace of ad(H): as list of LieAlgebraElements
Jacobson-Morozov triples (H,X,Y)
L173

JM_triple 5 overloads

L176JM_triple(StructureConstantTable t,vec H,int n) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
complete Jacobson Morozov triple: given H, find X,Y so that [H,X]=2X, [H,Y]=-2Y, [X,Y]=H
L189JM_triple(StructureConstantTable t,vec H) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
L191JM_triple(StructureConstantTable t,ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
L193JM_triple(StructureConstantTable t) = (ComplexNilpotent->(bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)))
L195JM_triple(ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))

also defined in tits_centralizer.at

try again: find all X's where all coefficients are \pm1, with the
signs constant on w-orbits
L198
Commented-out code, lines 203–206 (2 lines)
[(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]:
set JM_triple_signs_by_orbit(StructureConstantTable t,vec H,WeylElt w)=[(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]:

JM_triple_signs 4 overloads

L211JM_triple_signs(StructureConstantTable t,vec H) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
different idea: find a triple where all coefficients are \pm 1
L222JM_triple_signs(StructureConstantTable t,ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
L224JM_triple_signs(StructureConstantTable t) = (ComplexNilpotent->(bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)))
L226JM_triple_signs(ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))

also in this file at line 259, line 261, line 263

ALL Jacobson Morozov triples (with coefficient -1,1)
L230

JM_triples_signs 2 overloads

L232JM_triples_signs(StructureConstantTable t,[vec] S,vec H) = [(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]
L255JM_triples_signs(StructureConstantTable t,vec H) = [(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]

JM_triple_signs 3 overloads

L259JM_triple_signs(StructureConstantTable t,ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))
L261JM_triple_signs(StructureConstantTable t) = (ComplexNilpotent->(bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)))
L263JM_triple_signs(ComplexNilpotent O) = (bool,(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement))

also in this file at line 211, line 222, line 224, line 226

JM_triples 2 overloads

L267JM_triples(StructureConstantTable t) = [(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]
compute all triples for rd
L270JM_triples(RootDatum rd) = [(LieAlgebraElement,LieAlgebraElement,LieAlgebraElement)]

also defined in tits_centralizer.at

Jacobi identity
L274

jacobi_formula

L277jacobi_formula(LieAlgebraElement X,LieAlgebraElement Y,LieAlgebraElement Z) = LieAlgebraElement
general Jacobi formula [[X,Y],Z]+[[Z,X],Y]+[Y,X],X]

also defined in structure_constants.at, cyclotomic_Lie_algebra.at

jacobi_identities

L283jacobi_identities(StructureConstantTable t) = bool
test all Jacobi identities for the Lie algebra
see jacobi_identity in structure_constants.at

also in this file at line 297; also defined in cyclotomic_Lie_algebra.at

jacobi_identities_long

L289jacobi_identities_long(StructureConstantTable t) = void

also in this file at line 298; also defined in cyclotomic_Lie_algebra.at

jacobi_identities

L297jacobi_identities(RootDatum rd) = bool

also in this file at line 283; also defined in cyclotomic_Lie_algebra.at

jacobi_identities_long

L298jacobi_identities_long(RootDatum rd) = void

also in this file at line 289; also defined in cyclotomic_Lie_algebra.at

centralizer

L303centralizer((LieAlgebraElement X,LieAlgebraElement Y))

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

embed

L314embed(LieAlgebraElement X_L,StructureConstantTable t_rd)
embed X for L into G
use this to promote triple (H,X,Y) from L up to G
L must be an equal rank subgroup of rd

also defined in cyclotomic.at, character_table_reps.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at

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