atlas Library · Script File
hodgeParamPol.at
Definitions in source order
Conclusion:
hodgeParamPol: \sum{i=1}^n a_i(v)p_i where a_i(v) is a polynomial and p_i\in P_t
corresponding to \sum_i a_i(v)I(p_i)|_K
data type: hodgeParamPol
KHodgeParamPol: \sum{i=1}^n a_i(v)p_i where a_i(v) is a polynomial and p_i\in P_t
corresponding to \sum_{i=1}^n a_i(v)LKT(p_i) (finite sum of K_reps)
data type: (hodgeParamPol,void)
a hodgeParamPol is an _infinite_ sum of K_reps (with Z[v] coefficients)
truncated at an integer bound it becomes a finite sum of K_reps with Z[v]
coefficients, i.e. a KHodgeParamPol
this is hodge_branch@(hodgeParamPol,int) and variantsL31hodgeParamPol type
set_type hodgeParamPol=[ParamPol] { list is not empty }the data type hodgeParamPol is [ParamPol]
[P_0,P_1,..,P_n] <-> P_0+P_1*v+...+P_n*v^n
[P_0,...,P_m] -> (P_0+P_1*v+...+P_m*v^m)
Write the union of monomials(P_i) as {p_0,...,p_r}.
The order of this set matters.
Write P_i=\sum a_{i,j}p_j where j\le r.
Then this corresponds to
\sum a_{i,0}v^i)p_0 +
\sum a_{i,1}v^i)p_1 +
...
\sum a_{i,r}v^i)p_r
The advantage of the non-obvious convention is that we can use the
features of ParamPol to take care of combining terms.
See the functions rearrange and dearrange.
HodgeKTypePol type
set_type HodgeKTypePol=[KTypePol] { list is not empty }hodgeParamPol versions L68
nullHodgeParamPol
nullHodgeParamPol(RealForm G) = hodgeParamPolby ensuring at least one term is recorded, we can recover RealForm
hodge_param_pol
hodge_param_pol(Param p) = hodgeParamPolalso defined in hodgeParamLaurentPol.at
real_form
real_form (hodgeParamPol P) = RealFormalso in this file at line 78, line 148; also defined in basic.at, weak_packets_precomputed_cell_traces.at, parabolics.at, K.at, nilpotent_orbits.at, hodgeParamLaurentPol.at
*
*(Split c,hodgeParamPol P)also in this file at line 79, line 134, line 135, line 152, line 154, line 177, line 180, line 182; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
nullHodgeKTypePol
nullHodgeKTypePol (RealForm G) = HodgeKTypePolhodge_K_type_pol
hodge_K_type_pol (KType t) = HodgeKTypePolreal_form
real_form (HodgeKTypePol P) = RealFormalso in this file at line 73, line 148; also defined in basic.at, weak_packets_precomputed_cell_traces.at, parabolics.at, K.at, nilpotent_orbits.at, hodgeParamLaurentPol.at
*
*(Split c,HodgeKTypePol P)also in this file at line 74, line 134, line 135, line 152, line 154, line 177, line 180, line 182; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
rearrange:
takes hodgeParamPol:[P_0,P_1,..,P_n] <-> P_0+P_1*v+...+P_n*v^{n-1}
write P_i=\sum_0^r a_{i,j}p_j i\le r, j\le m
\sum a_{i,0}v^i)p_0 +
\sum a_{i,1}v^i)p_1 +
...
\sum a_{i,r}v^i)p_r
represented by
[
( [a_{0,0},a_{1,0},...,a_{m,0}],p_0),
( [a_{0,1},a_{1,1},...,a_{m,1}],p_1),
...
( [a_{0,r},a_{1,r},...,a_{m,r}],p_r)
]
This is a more natural way to think of a hodgeParamPol, but less convenient
computationally.L82rearrange 2 overloads
rearrange(hodgeParamPol pols) = [(i_poly,Param)]Regroup by parameter or K-type
rearrange(HodgeKTypePol pols) = [(i_poly,KType)]also defined in hodgeParamLaurentPol.at
dearrange
dearrange([vec,Param] f, RealForm G) = hodgeParamPolgo other way: given f_0(v)p_0 + ... + f_n(v) p_n, take it to [P_0,...,P_m] [a_0+a_1v+...a_kv^k]*p_0 + [b_0+...+b_rv^r]*p_1 + ... [...]*p_n <-> by [([a_0,...,a_k],p_0),...,([...],p_n)] goes to P_0+P_1*v^2+...+P_m*v^m, represented by [P_0,P_1,..,P_n]
also defined in hodgeParamLaurentPol.at
Hodge_K_type_pol
Hodge_K_type_pol ([vec,KType] f,RealForm G) = HodgeKTypePolalso in this file at line 179
* 2 overloads
*(i_poly f,Param p) = hodgeParamPol*(i_poly f,hodgeParamPol P) = hodgeParamPolalso in this file at line 74, line 79, line 152, line 154, line 177, line 180, line 182; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
Note: error if #P=0L137
coefficient
coefficient(hodgeParamPol P,Param p) = i_polyalso in this file at line 186, line 287; also defined in hodgeParamLaurentPol.at, hodge_functions.at, lazy_lists.at
=
=(hodgeParamPol P,hodgeParamPol Q) = boolequality is term by term
also in this file at line 190; 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, laurentPolynomial.at, extended.at, disconnected.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at
real_form
real_form(hodgeParamPol P) = RealFormalso in this file at line 73, line 78; also defined in basic.at, weak_packets_precomputed_cell_traces.at, parabolics.at, K.at, nilpotent_orbits.at, hodgeParamLaurentPol.at
* 2 overloads
*(i_poly f,hodgeParamPol P) = hodgeParamPolpolynomial in v, or constant, times hodgeParamPol
*(int c,hodgeParamPol P) = hodgeParamPolalso in this file at line 74, line 79, line 134, line 135, line 177, line 180, line 182; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
+
+(hodgeParamPol P,hodgeParamPol Q) = hodgeParamPolalso in this file at line 205; also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, lazy_lists.at
one_minus_v
one_minus_v = [1,-1]-
-(hodgeParamPol P,hodgeParamPol Q) = hodgeParamPolalso in this file at line 209; also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, laurentPolynomial.at, cyclotomicMat.at, hodge_functions.at, lazy_lists.at
evaluate_at_s
evaluate_at_s (hodgeParamPol Q) = ParamPolevaluate_at_1
evaluate_at_1(hodgeParamPol Q) = ParamPolalso defined in stable.at, polynomial.at
v_to_s
v_to_s(hodgeParamPol Q) = ParamPolalso in this file at line 215
v_to_1
v_to_1(hodgeParamPol Q) = ParamPolalso in this file at line 214; also defined in hodgeParamLaurentPol.at
HodgeKTypePol versions L175
*
*(i_poly f,KType mu) = HodgeKTypePolalso in this file at line 74, line 79, line 134, line 135, line 152, line 154, line 180, line 182; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
Hodge_K_type_pol
Hodge_K_type_pol (KType mu) = HodgeKTypePolalso in this file at line 128
* 2 overloads
*(Split c,HodgeKTypePol KP) = HodgeKTypePol*(i_poly f,HodgeKTypePol KP) = HodgeKTypePolalso in this file at line 74, line 79, line 134, line 135, line 152, line 154, line 177; 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, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, sparse.at, lazy_lists.at
coefficient
coefficient(HodgeKTypePol KP,KType p) = i_polyalso in this file at line 141, line 287; also defined in hodgeParamLaurentPol.at, hodge_functions.at, lazy_lists.at
=
= (HodgeKTypePol KP,HodgeKTypePol KQ) = boolequality is term by term
also in this file at line 145; 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, laurentPolynomial.at, extended.at, disconnected.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at
rearrange:
takes HodgeKTypePol:([P_0,P_1,..,P_n],) <-> P_0+P_1*q+...+P_n*v^{n-1}
to
((a_0+a_1q+...a_kv^k)*p_0 + (b_0+...+b_rv^r)*p_1 + ... (...)p_m,)
represented by ([([a_0,...,a_k],p_0),...,([...],p_m)],)
where {p_i} are the monomials of all of the {P_j}
the coefficients are i_pols
This is a more natural way to think of a hodgeParamPol, but less convenient
computationally.L194+
+(HodgeKTypePol KP,HodgeKTypePol KQ) = HodgeKTypePolalso in this file at line 156; also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, hodge_functions.at, lazy_lists.at
-
-(HodgeKTypePol KP,HodgeKTypePol KQ) = HodgeKTypePolalso in this file at line 164; also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, laurentPolynomial.at, cyclotomicMat.at, hodge_functions.at, lazy_lists.at
v_to_1
v_to_1 (HodgeKTypePol KP) = KTypePolalso in this file at line 173; also defined in hodgeParamLaurentPol.at
v_to_s
v_to_s (HodgeKTypePol KP) = KTypePolalso in this file at line 172
shift 2 overloads
shift(hodgeParamPol P, int k) = hodgeParamPolmultiply hodgeParamPol by v^k (k\ge 0)
shift(HodgeKTypePol KP, int k) = HodgeKTypePolalso defined in hodge_tensor.at, laurentPolynomial.at, lazy_lists.at
Commented-out code, lines 227–227 (1 lines)
set hodge_branch_irr(Param p,int N)=hodgeParamPol:hodge_branch_std(hodge_grading_irreducible(p),N)
show 2 overloads
show(hodgeParamPol P) = voidnice output
show(HodgeKTypePol P) = voidnice output
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, laurentPolynomial.at, weak_packets.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, exceptional.at, nilpotent_posets.at, lazy_lists.at
show_long 3 overloads
show_long(hodgeParamPol P,KGBElt x_K) = voidalternative output version
show_long(hodgeParamPol P) = voidshow_long(HodgeKTypePol KP) = voidalso defined in character_tables.at, springer_tables.at, hodgeParamLaurentPol.at, weak_packets.at, cyclotomic_Lie_algebra.at, bracket.at, exceptional.at
hodge_print 3 overloads
hodge_print = show@hodgeParamPolhodge_print([(vec,Param)] P,RealForm G) = voidhodge_print([(vec,KType)] P,RealForm G) = voidhodge_print_long 3 overloads
hodge_print_long = show_long@hodgeParamPolhodge_print_long([vec,Param] P,RealForm G) = voidhodge_print_long ([vec,KType] L,RealForm G) = voidcoefficient
coefficient (hodgeParamPol P,KType mu) = i_polyalso in this file at line 141, line 186; also defined in hodgeParamLaurentPol.at, hodge_functions.at, lazy_lists.at
Generated from atlas-scripts at commit 648506c (2026-10-13).
Commented-out code, lines 5–29 (24 lines)
set P_t(G)={non-zero, final, standard, tempered parameter} this is precisely the set of "K-types" (parameters of G) p_i -> LKT(p_i) is a bijection with K^ (irreducible representations of K) We write "K_type" to mean an element of P_t "K_rep": an irreducible representation of K In the K-world p\in P_t can be viewed two ways: 1) p_i -> I(p_i)|_K = all of the K_reps of I(p) 2) p_i -> LKT(I(p_i)) = a single K_rep So \sum_i a_i(v)p_i (finite sum) can be viewed two ways: 1) \sum_i a_i(v)I(p_i)|_K [infinite sum of K_reps with Z[v] coefficients] 2) \sum_i a_i(v)LKT(I(p_i)) [a finite sum of K_reps with Z[v] coefficients] We could use the same data structure for both. This is similar to using parameters for both standard or irreducible modules: you need to know which is appropriate, by the context. Instead we'll use an extra void to specify when something is a K_rep. We can and should revisit this issue.