atlas Library · Script File
weak_packets.at
computing weak unipotent Arthur packets
Definitions in source order
parameters 3 overloads
parameters([(int,int,Param)] triples) = [Param]extract just the parameters from [(int,int,Param)]
parameters(([([Param],[WCell])],[(int,int,Param)]) (,triples)) = [Param]extract just the parameters from output of weak_packet(..)
parameters([([([Param],[WCell])],[(int,int,Param)])] data) = [Param]extract just the parameters from output of weak_packets(..)
cells
cells(([([Param],[WCell])],[(int,int,Param)]) (pairs,)) = [[int]]extract just the cells (parameter indices) from output of weak_packet(...)
SpringerTable: table of Springer data, see springer_tables.at NOTE: this must be the SpringerTable for the integral root system ComplexNilpotent: complex orbit for dual group [Param]: list of parameters, should be all_parameters_gamma(G,gamma) where gamma is regular and differs from gamma_target by X^* ratvec gamma_target: target infinitesimal character, probably O.H/2 result: ([list of parameters],[(int,int,Param)]=[(block number, cell number, parameter)])L35
weak_packet_int 2 overloads
weak_packet_int (SpringerTable st_int ,ComplexNilpotent O_check ,[Param] params ,ratvec gamma_target) = ([([Param],[WCell])],[(int,int,Param)])weak_packet, given Springer table for the integrality datum of O_check.H/2, a list of parameters at regular infinitesimal character, and a target infinitesimal character
weak_packet_int (SpringerTable st_int,ComplexNilpotent O_check,RealForm G) = ([([Param],[WCell])],[(int,int,Param)])this calls weak_packet_int(st_int,O_check,G,params,gamma_target) and is typically called as follows: params=all_parameters_gamma(G,O_check.H/2+2*rho(G)) gamma_target=O_check.H/2 st_int = integrality_datum(G,gamma_target)
also defined in weak_packets_precomputed_cell_traces.at
weak_packet 2 overloads
weak_packet (ComplexNilpotent O_check,RealForm G,ratvec shift) = ( [ [Param],[WCell] ] , [int,int,Param] )This is the primary weak_packet function: weak Arthur packet(O_check,G) |G| is a RealForm, |O_check| is a nilpotent orbit for |G.root_datum.dual| for example O_check can be chosen from |dual_orbits(G)| We allow a central shift |shift| to the infinitesimal character to be given
weak_packet (ComplexNilpotent O_check,RealForm G) = ( [ [Param],[WCell] ] , [int,int,Param] )also defined in weak_packets_precomputed_cell_traces.at
weak_packets 3 overloads
weak_packets ([ComplexNilpotent] dual_orbits,RealForm G,ratvec shift) = [ [[Param],[WCell]] , [int,int,Param] ]run over a set of dual orbits; check if dual(O_check) intersects \g^(-theta)
weak_packets ([ComplexNilpotent] dual_orbits,RealForm G) = [ [[Param],[WCell]] , [int,int,Param] ]weak_packets (RealForm G) = [ [[Param],[WCell]] , [int,int,Param] ]given just a RealForm G, compute the dual orbits then compute all weak packets as you run over these dual orbits
also in this file at line 633; also defined in weak_packets_precomputed_cell_traces.at
weak_packets_even
weak_packets_even (RealForm G ) = [ [[Param],[WCell]] , [int,int,Param] ]given just a RealForm G, compute the dual orbits, then all weak packets as you run over these dual orbits
reporting functionsL186
mult 2 overloads
mult([[(int,int,Param)]] packet) = ((int,int,int)->int)mult([(int,int,Param)] packet) = ((int,int)->int)also in this file at line 254
parameters_map 2 overloads
parameters_map([[(int,int,Param)]] packet) = ((int,int,int)->[Param])parameters_map([(int,int,Param)] packet) = ((int,int)->[Param])mult_block
mult_block([(int,int,Param)] packet) = (int->int)number of time given block appears, i.e. number of parameters in this block
mult_orbit_block
mult_orbit_block([[(int,int,Param)]] packet) = ((int,int)->int)number of times the (orbit,block) pairs appears, in other words number of parameters in given pair
blocks
blocks([(int,int,Param)] packet) = [int]also in this file at line 230; also defined in basic.at, cells.at
cells 2 overloads
cells([(int,int,Param)] packet) = [int]cells([[(int,int,Param)]] packets) = [int]also in this file at line 32
blocks
blocks([[(int,int,Param)]] packets) = [int]also in this file at line 227; also defined in basic.at, cells.at
unipotent_representations
unipotent_representations(RealForm G) = [Param]G.weak_packets.parameters
also in this file at line 659
unipotents
unipotents(RealForm G) = [Param]also in this file at line 660
mult
mult([[(int,int,Param)]] packet) = ((int,int,int)->int)output routines: show_...L260
show_short 2 overloads
show_short([([([Param],[WCell])],[(int,int,Param)])] blocks_and_cells_and_packets) = voidshow_short(([([Param],[WCell])],[(int,int,Param)]) blocks_and_cells_and_packet) = voidalso defined in sub_cells.at
show 2 overloads
show( ([([Param],[WCell])],[(int,int,Param)]) blocks_and_cells_and_packet) = voidshow( [([([Param],[WCell])],[(int,int,Param)])] blocks_and_cells_and_packets) = voidalso in this file at line 696; 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, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, exceptional.at, nilpotent_posets.at, lazy_lists.at
show_long 2 overloads
show_long(([([Param],[WCell])],[(int,int,Param)]) blocks_and_cells_and_packet) = voidshow_long([([([Param],[WCell])],[(int,int,Param)])] blocks_and_cells_and_packets) = voidalso in this file at line 403, line 428; also defined in character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, hodgeParamPol.at, cyclotomic_Lie_algebra.at, bracket.at, exceptional.at
export
export([Param] parameters) = voidalso defined in sub_cells.at
inducing unipotents L390
induced_unipotents
induced_unipotents(RealForm G) = [Param]run over all maximal real parabolics P, all unipotent representations of P.Levi, and induced up to G
show_long 2 overloads
show_long(( ( [([Param],[WCell])], [(int,int,Param)] ), [Param]) data) = voidshow long, including flag to mark induced unipotents
wp
[(int,int,Param)]
induced_unipotents
show_long(( [( [([Param],[WCell])], [(int,int,Param)] )], [Param]) data) = voidwp
[(int,int,Param)]
induced_unipotents
also in this file at line 327, line 352; also defined in character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, hodgeParamPol.at, cyclotomic_Lie_algebra.at, bracket.at, exceptional.at
induced_unipotents_long
induced_unipotents_long(RealForm G) = ([Param],[Param],[Param])(induced unipotents, unipotents of G, complement of first in second)
the remainder of this file was copied (and modified) from unipotent_conjecture.atL466
include information about dual_Aq cells L468
packets_disjoint
packets_disjoint( ([([Param],[WCell])],[(int,int,Param)]) blocks_and_cells_and_packet) = boolthis applies to output of weak_packet(...) or each entry of output of weak_packets(...) returns true if each cell which occurs satisfies is_dual_Aq(cell)
simply_connected_dual_orbits
simply_connected_dual_orbits(RootDatum rd) = [ComplexNilpotent]dual nilpotents with A(O)=1
number_unipotents_guess
number_unipotents_guess(ComplexNilpotent O_check) = (int,[int],int)if A(O^vee)=1 and all Arthur packets for O^vee are disjoint then there is a guess for the size of the weak packet of O^vee based just conjugacy classes of elements of H=Cent(O^vee) of order 1 or 2 see notesOnUnipotentParameters.pdf in Dropbox return value: (int a,[int] v ,int c) a=#conjugacy classes of H), if it isn't 1 we don't care v=data for computing the guess c=guess for order of Pi(Psi) this is only reasonable if A(O^vee)=1 (which is included in the output) and the packets for O^vee are disjoint (which is not, since this depends on actually computing the weak packet
test_conjecture
test_conjecture([([([Param],[WCell])],[(int,int,Param)])] wp,RealForm G) = [(int,[int],int,int,bool,int)]test the conjectural formula for order of Pi(Psi) is correct returns: int: #conjugacy classes of H), if it isn't 1 we don't care [int]: data for computing the guess int: guess for order of Pi(Psi) int: number of real forms of unipotent bool: Arthur packets are disjoint int: 0 (conjecture doesn't apply) or \pm 1 (conjecture true/false) mainly used as input to teste_conjecture_report
test_conjecture_report 3 overloads
test_conjecture_report([([([Param],[WCell])],[(int,int,Param)])] wp,RealForm G) = voidtest_conjecture_report(RealForm G) = voidtest_conjecture_report([RealForm] groups) = voidreportsL568
weak_packet_report
weak_packet_report(RealForm G) = [([([Param],[WCell])],[(int,int,Param)])]compute all weak packets for G, and display tables of the result does not include information about induced unipotents (diagram,dim,BC Levi,cent,Z(cent_0),C_2,orders of classes of A(O), #real orbits for all forms in inner class,arthur packets)
weak_packet_report_ind
weak_packet_report_ind(RealForm G) = [([([Param],[WCell])],[(int,int,Param)])]more output routines: running over real forms L631
weak_packets
weak_packets([RealForm] list) = [([([Param],[WCell])],[(int,int,Param)])]also in this file at line 148, line 171, line 178; also defined in weak_packets_precomputed_cell_traces.at
weak_packets_all_forms
weak_packets_all_forms(RealForm G) = [([([Param],[WCell])],[(int,int,Param)])]show_weak_packets_all_forms
show_weak_packets_all_forms(RealForm G) = voidshow_weak_packets_all_forms_long
show_weak_packets_all_forms_long([RealForm] groups) = voidmoved from theta_induced_unipotents.at L655
unipotent_representations
unipotent_representations(RealForm G,ratvec shift) = [Param]allow a central shift
also in this file at line 232
unipotents
unipotents(RealForm G,ratvec shift) = [Param]also in this file at line 252
theta_induced_unipotents
theta_induced_unipotents(RealForm G) = [Param]theta_induced_unipotents_long
theta_induced_unipotents_long(RealForm G) = ([Param],[Param],[Param])all_induced_unipotents_long
all_induced_unipotents_long(RealForm G)show
show([Param] real_ind,[Param] theta_ind,[Param] all_ind,[Param] unipotents,[Param] non_ind) = voidalso in this file at line 280, line 303; 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, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, exceptional.at, nilpotent_posets.at, lazy_lists.at
test_weak_packets
test_weak_packets(int n)all simple simply connected or adjoint groups up to rank n compute weak_packet_report, which includes computing weak_packets for all Levi factors of real maximal parabolics, so this is long list of many non-semisimple groups
show_tempered
show_tempered([([([Param],[WCell])],[(int,int,Param)])] wp) = voidshow_unipotent_tempered
show_unipotent_tempered(RealForm G) = voidunipotent_representations_by_orbit
unipotent_representations_by_orbit(RealForm G) = [[Param]]Generated from atlas-scripts at commit 648506c (2026-10-13).
Commented-out code, lines 719–726 (6 lines)