Script File
weak_packets_precomputed_cell_traces.at
computing weak packets using precomputed cell_traces mainly used for E8_s
NOTE: to enable the E8 functionality, delete the lines {CUT and /CUT},
which prevent loading E8 data by default, since it is slow, and requires
100 GB of ramDefinitions in source order
real_form
L22
real_form([(([Param],[WCell]),[([int],[int])])] data) = RealFormget RealForm from cell_and_character_data
also defined in basic.at
weak_packet_int 2 overloads
L25
weak_packet_int( SpringerTable st_int, ComplexNilpotent O_check, [(([Param],[WCell]),[([int],[int])])] cell_and_character_data) = ([([Param],[WCell])],[(int,int,Param)])L59
weak_packet_int( SpringerTable st_int, ComplexNilpotent O_check, (([Param],[WCell ]),[([int],[int])]) cell_and_character_data) = ([([Param],[WCell])],[(int,int,Param)])weak_packets
L67
weak_packets( SpringerTable st, [ComplexNilpotent] dual_orbits, [(([Param],[WCell]),[([int],[int])])] cell_and_character_data) = [([([Param],[WCell])],[(int,int,Param)])]same as previous, running over a set of orbits, use precomputed version iff the orbit is even
weak_packet
L80
weak_packet(SpringerTable st,ComplexNilpotent O_check, [(([Param],[WCell]),[([int],[int])])] cell_and_character_data) = ([([Param],[WCell])],[(int,int,Param)])weak_packets 4 overloads
L91
weak_packets( SpringerTable st, [ComplexNilpotent] dual_orbits, (([Param],[WCell]),[([int],[int])]) cell_and_character_data) = [([([Param],[WCell])],[(int,int,Param)])]L103
weak_packets( SpringerTable st, [(([Param],[WCell]),[([int],[int])])] cell_and_character_data) = [([([Param],[WCell])],[(int,int,Param)])]weak_packets(st,data): run over G.root_datum.dual_orbits (G is included in data) note: NOT st.root_datum.dual_orbits if orbit O_check is not even, use the usual algorithm weak_packets(O_check,G) if it is even, use the precomputed version weak_packets(st,O_check,data)
L109
weak_packets(RealForm G,[ComplexNilpotent] dual_orbits, [(([Param],[WCell]),[([int],[int])])] cell_and_character_data) = [([([Param],[WCell])],[(int,int,Param)])]compute SpringerTable also
L114
weak_packets(RealForm G,[ComplexNilpotent] dual_orbits, (([Param],[WCell]),[([int],[int])]) cell_and_character_data) = [([([Param],[WCell])],[(int,int,Param)])]also in this file at line 67
cell_and_character_data 2 overloads
L120
cell_and_character_data (CharacterTable ct,[Param] parameters) = [ ([Param],[WCell]) ,[ [int],[int] ] ]prepare cell_data for input to weak_packets(st,O,cell_data)
L130
cell_and_character_data (CharacterTable ct,RealForm G) = [ ([Param],[WCell]) ,[ [int],[int] ] ]weak_packets_pre
L135
weak_packets_pre (RealForm G,CharacterTable ct) = [ [[Param],[WCell]], [int,int,Param] ]stuff particular to E8:L139
compute cell_and_character_data for each block of G=E8_s (tiny, small, big) also SpringerTable for G this can then be used to call: weak_packet(st,G,dual_orbit,data), weak_packets(st,G,dual_orbits,data) weak_packets(st,G,data)L140
comment this out to avoid loading except when necessary:L147
Commented-out code, lines 148–196 (49 lines)
CUT
<E8_big_block_parameters.at {parameters_big: [Param]: big block}
<E8_big_block_cell_parameter_numbers.at {cells_big=[[int]]}
<E8_big_block_cell_characters.at {cell_characters_big=[[int]]}
<E8_big_block_cells.at {E8_big_block_cells=[([int],[([int],[(int,int)])])]}
<E8_small_block_parameters.at {parameters_small: [Param]: small block}
<E8_small_block_cell_parameter_numbers.at {cells_small=[[int]]}
<E8_small_block_cell_characters.at {cell_characters_small=[[int]]}
<E8_small_block_cells.at {E8_small_block_cells=([int],([([int],[(int,int)])]))}
prints("loaded files")
set irreducible_PS=parameter(G.x_open,null(8),rho(G))
set cells_tiny=W_cells(irreducible_PS)
set p=parameter(G.trivial.x, 2*rho(G),rho(G))
set cell_and_characters_tiny_block=(([p],cells_tiny),[([0],[int]:ones(112))])
set E8_dual_orbits=G.dual_orbits
prints("defined dual orbits")
set E8_dual_orbits_even=G.even_dual_orbits
prints("defined dual even orbits")
set cell_and_characters_big_block=
((parameters_big,E8_big_block_cells)
,for i:#cells_big do (cells_big[i], cell_characters_big[i]) od)
prints("defined cell_and_characters_big_block")
set cell_and_characters_small_block=
((parameters_small,E8_small_block_cells),
for i:#cells_small do (cells_small[i], cell_characters_small[i]) od)
prints("defined cell_and_characters_small_block")
set E8_cell_and_character_data =
[cell_and_characters_big_block,cell_and_characters_small_block,
cell_and_characters_tiny_block]
{comment out either the first line or lines 2-4}
prints("Springer table already defined")
prints("Defining Springer table")
set E8_st=Springer_table(simply_connected(E8))
prints("defined Springer table")
{set wp=weak_packets(st_E8,E8_dual_orbits,E8_cell_and_character_data)}
/CUTassuming the lines between CUT and /CUT have been loaded, then weak_packets(st,orbits,all_cell_data) will compute all weak packets for E8_s weak_packets(st,orbits,cell_and_characters_*_block) where *=tiny,small,or big compute the weak packets coming from these blocksL198
Generated from atlas-scripts at commit 7e1b958 (2026-09-17).
Commented-out code, lines 8–19 (11 lines)