Script File
stable.at
stable virtual characters some elementary operations needed, these should be moved elsewhere
Definitions in source order
evaluate_at_1 2 overloads
L14
evaluate_at_1 ([i_poly] v) = vecL15
evaluate_at_1 (i_poly_mat M) = matleft_kernel
L19
left_kernel = cokernel@matdefined as |cokernel| in basic.at
column
L21
column (i_poly_mat M,int j) = [i_poly]also defined in hodge_K_type_formula.at
null_poly_mat
L22
null_poly_mat (int r,int c) = i_poly_matmat_as_poly_mat
L24
mat_as_poly_mat (mat A) = i_poly_mat*
L27
* (mat A,i_poly_mat B) = i_poly_matalso in this file at line 304, line 310; also defined in basic.at, extParamPol.at, complex.at, modules.at, hodge_tensor.at, tits_centralizer.at
has_infinitesimal_character
L29
has_infinitesimal_character ([Param] params) = boolalso defined in modules.at
make_regular
L33
make_regular (Param p) = Parammake_param_pol
L40
make_param_pol (RealForm G,[int] coefficients,[Param] params) = ParamPolpermutationsL44
S=[a_0,a_1,...] <-> permutation sigma(i)=a_iL45
permutation_matrix_sort
L48
permutation_matrix_sort([int] S) = matin_tau 2 overloads
L51
in_tau (int s,Param p) = boolwhether s is in tau(p)
L53
in_tau ([int] S,Param p) = boolwhether $S\subset\tau(p)$
also defined in modules.at, sub_cells.at
in_tau_complement 2 overloads
L60
in_tau_complement (int s,Param p) = boolwhether s not in tau(p)
L62
in_tau_complement ([int] S,Param p) = boolwhether $S\cap\tau(p)$ empty
also defined in modules.at
Psi_irr
L67
Psi_irr ([Param] params,[int] S) = [Param]translate irreducibles to singular infinitesimal character, only keep those for which tau(p)\subset S-complement
from now on [int] S is a set of simple roots, [Param] B is a block of parameters with regular infinitesimal character <not a Block in the sense of atlas, i.e. (x,y) pairs> [Param] params is a list of parametersL70
parameters_tau_containing
L77
parameters_tau_containing ([int] S,[Param] params) = [int]select indices of parameters whose |tau| contains |S|
parameters_tau_contained_in_complement
L81
parameters_tau_contained_in_complement ([int] S,[Param] params) = [int]select indices of parameters whose |tau| is disjoint from |S|
duality_permutation
L85
duality_permutation ([Param] B) = [int]recover permutation related to Vogan duality for given block
dual_parameters
L88
dual_parameters ([int] S,[Param] B) = [int]subset of parameters p^\vee on dual side satisfying: S^\vee\subset tau(p^\vee)
parameters
L97
parameters ([int] S,[Param] B) = [int]parameters dual to the previous ones, i.e. satisfying tau(p)\subset S-complement in the order so that: parameters=[a1,a2,...] dual_parameters=[b1,b2,...] then duality permutation takes a_i to b_j
parameters_singular
L103
parameters_singular ([int] S,[Param] B) = [Param]lengths_signs
L107
lengths_signs ([Param] params) = [int]vector of (-1)^{length(p)}, and corresponding diagonal matrix
also in this file at line 111
lengths_signs_matrix
L109
lengths_signs_matrix ([Param] params) = matalso in this file at line 113
lengths_signs
L111
lengths_signs ([int] S,[Param] B) = [int]also in this file at line 107
lengths_signs_matrix
L113
lengths_signs_matrix ([int] S,[Param] B) = matalso in this file at line 109
dual_parameters_matrix 3 overloads
L116
dual_parameters_matrix ([int] S,[Param] B) = matL120
dual_parameters_matrix ([Param] B) = matL123
dual_parameters_matrix ([Param] B, [int] T) = matT is a subset of 1,...,n, keep only rows and columns in T
dual_parameters_standard_basis_poly_mat
L127
dual_parameters_standard_basis_poly_mat ([Param] B) = i_poly_matnxn matrix, rows give formula for irreducible as sum of standards
dual_parameters_standard_basis 2 overloads
L129
dual_parameters_standard_basis ([Param] B) = matL133
dual_parameters_standard_basis ([int] S,[Param] B) = matr x n matrix, subset of rows of the previous, corresponding to rows in dual_parameter(S,B)
indices
L137
indices ([Param] B,[Param] subset) = [int]also defined in basic.at
subspace_injection_matrix
L139
subspace_injection_matrix ([Param] B,[Param] subset) = matget_y
L144
get_y ([Param] B) = [int]stable_at_regular
L149
stable_at_regular ([Param] B) = matB is a block
vanishing
L159
vanishing ([int] S,[Param] B) = matr\times m matrix, r=#parameters, m=number of stable sums at regular
^(^dual_parameters_standard_basis(S,B)*^dual_parameters_matrix(B)*stable_at_regular(B))L162
kernel_vanishing
L165
kernel_vanishing ([int] S,[Param] B) = matr\times\ell matrix, r=#parameters, \ell=dimension of (left) kernel of vanishing
stable_at_singular_unsorted
L170
stable_at_singular_unsorted ([int] S,[Param] B) = (mat,[Param])t\times r matrix, t=dimension of kernel of kernel_vanishing
unsorted version, shouldn't be used except for testing
B is a block (or union of blocks) of parameters at regular infinitesimal character
(^kernel(^kernel_vanishing(S,B))*lengths_signs_matrix(S,B),parameters_singular(S,B))L174
stable_at_singular 2 overloads
L179
stable_at_singular ([int] S,[Param] B) = (mat,[Param])same as stable_at_singular_unsorted, except that it is sorted
B is a set of parameters at regular infinitesimal character
L190
stable_at_singular ([int] S,[Param] B,[Param] subset_in) = (mat,[Param])given block (or union of blocks) of parameters B at regular infinitesimal character, and a subset\subset B S=set of simple roots find stable sums in subset pushed to the S-wall
also in this file at line 255
stable_sums
L206
stable_sums([Param] singular_parameters) = [(mat,[Param])]stable_sums_partial
L225
stable_sums_partial([Param] singular_parameters)print_stable_at_singular_unsorted
L241
print_stable_at_singular_unsorted ([int] S,[Param] B) = voidprint_stable_at_singular
L248
print_stable_at_singular ([int] S,[Param] B) = voidalso in this file at line 271
stable_at_singular
L255
stable_at_singular ([int] S,[Param] B,[Param] subset_in) = (mat,[Param])print_stable_at_singular
L271
print_stable_at_singular ([int] S,[Param] B,[Param] subset) = voidalso in this file at line 248
stable
L278
stable ([Param] params) = (mat,[Param])print_stable
L290
print_stable([Param] params) = voidstable_test_Aq_packet 2 overloads
L297
stable_test_Aq_packet (RealForm G,ComplexParabolic P) = voidL300
stable_test_Aq_packet (RealForm G,[int] complex_parabolic) = void* 2 overloads
L304
*(vec v,[Param] params)L310
*(mat M,[Param] params)also in this file at line 27; also defined in basic.at, extParamPol.at, complex.at, modules.at, hodge_tensor.at, tits_centralizer.at
printParamPol
L312
printParamPol(ParamPol P) = voidprint_sums
L315
print_sums ([(mat,[Param])] list) = voidprint_stable_sums 2 overloads
L324
print_stable_sums([(int,int,Param)] list) = voidL327
print_stable_sums([[(int,int,Param)]] lists) = voidGenerated from atlas-scripts at commit 7e1b958 (2026-09-17).
Commented-out code, lines 56–58 (2 lines)
This axis version does not allow declaring universal list type argument set in_tau([*] S,Param p) = bool: true { whether $\emptyset\subset\tau(p)$ }