Script File
projectors_using_character_tables.at
Definitions in source order
projectors_verbose
L9
projectors_verbose = truealso in this file at line 96
projection on isotypic subspace L11
projector
L33
projector (WeylClassTable tab, W_rep(dim,ops), [int] chi) = matscalar multiple of projection of representation space of |ops| on isotoypic
subspace defined by character |chi| of an irreducible representation
When |chi| is an irreducible character of $W$, and |tab| is the class table of
$W$, the call |projector(tab,rep,chi)| for a $W$ representation given by |rep|
computes a matrix describing a scalar multiple of the projection of the space
$V$ on which |rep| acts to its isotypic subspace for |chi|, via the formula
$$ \sum_{w\in W}\chi(w)\rho(w), $$
where $\rho(w)$ is the action in |rep| of |w|. The menioned scalar multiple
is $|W|/\dim(\chi)$, as can be seen by taking $\rho$ to be the irredudible
corresponding to $\chi$ itself, and computing the trace |W| of the above sum.
If an irreducible character |chi| is not a constituent of the
representation defined by |ops|, this gives the null matrix; then since
the result depends linearly on |chi|, we can even use this when that
character is reducible, but has a unique irreducible constituent in common
with |ops|, giving (a multiple of) the projection for that isotypic subspace
also in this file at line 54, line 110; also defined in K_Nilpotent.at
this used to be: for (w,action) in W_parabolic_with_action(rd,all_simples(rd),dim,ops) do Q+:=character_value(tab,w,chi)*action od; QL46
projector
L54
projector (WeylClassTable tab, W_rep(dim,ops), [int] chi,(->)f) = matsince the preceding function is very slow for large W because of class_of(w), report on progress through W (if projectors_verbose=true
also in this file at line 33, line 110; also defined in K_Nilpotent.at
projector_verbose
L69
projector_verbose ((WeylClassTable,W_rep,[int])(tab,rho,chi):args) = matsince the preceding function is very slow for large W because of class_of(w), report on progress through W (if projectors_verbose=true
projectors
L79
projectors (WeylClassTable tab, W_rep (dim,ops), [[int]] chis,(->)f) = [mat]since the preceding function is very slow for large W because of class_of(w), combine several uses of it into one loop: |chis| is a list of characters for which the isotypic projections are to be computed
projectors_verbose
L96
projectors_verbose (WeylClassTable tab, W_rep rho, [[int]] chis) = [mat]also in this file at line 9
restrict_representation_isotypic
L102
restrict_representation_isotypic (WeylClassTable Wct, W_rep pi, vec chi) = W_repprojector
L110
projector (WeylClassTable Wct, WCell cell, vec chi) = matprojector for a cell representation
also in this file at line 33, line 54; also defined in K_Nilpotent.at
projectors
L113
projectors (WeylClassTable Wct, WCell cell, [vec] chis) = [mat]special_projector
L121
special_projector (WeylClassTable Wct, WCell cell) = matgiven a cell, compute the cell representation pi, find the smallest k so that <pi,sym^k(reflection)>!=0, then this inner product is 1, and the unique irreducible in common is special; use the character of sym^k(reflection) to compute the projection operator onto the special
also in this file at line 213
special_representation_of_cell
L129
special_representation_of_cell (WeylClassTable Wct, WCell cell) = W_repgiven a cell, compute the special_projector, and use this to construct the special representation itself
also in this file at line 216
special_projectors
L135
special_projectors(WeylClassTable Wct, [WCell] cells) = [mat]special_projectors for a list of cells
also in this file at line 219
is_rational_multiple
L139
is_rational_multiple (vec v,vec w) = booltest v, w same up to rational multiple
group_vectors_up_to_scalar
L145
group_vectors_up_to_scalar ([vec] list) = [[int]]given list of nonzero vectors return [[int]] where each [int] is the indices of the vectors which are the same up to multiple example: [[1,2],[2,3],[2,4]] -> [[0,2],[1]]
group_vectors_up_to_scalar_alt
L159
group_vectors_up_to_scalar_alt ([vec] list)given list of nonzero vectors return [[int]] where each [int] is the indices of the vectors which are the same up to multiple example: [[1,2],[2,3],[2,4]] -> [[0,2],[1]]
alt: no assert; the result is [[parameters in kernel], [usual result]]
group_parameters_projection
L168
group_parameters_projection (WCell cell,mat projector) = [[int]]group_parameters_by_primitive_ideal
L179
group_parameters_by_primitive_ideal (WCell cell,mat projector) = [[int]]given a cell, compute the projector onto the special representation Then cell vertices give the same primitive ideal iff they map to scalar multiples of the same vector in the special representation, i.e. the two corresponding columns of the matrix are the same up to rational multiple
print_primitive_ideal_info 2 overloads
L185
print_primitive_ideal_info ([WCell] cells,[mat] projectors) = voidnice output of primitive ideal information for a cell
L200
print_primitive_ideal_info ([WCell] cells,[mat] projectors,string .) = voidvariant function of previous (distinguished by ignored final string argument), better suited to large cells
Define some cases for |CharacterTable|, instead of |WeyClassTable|, as wellL208
projectors
L210
projectors (CharacterTable ct, WCell cell, [vec] chis) = [mat]special_projector
L213
special_projector (CharacterTable ct, WCell cell) = matalso in this file at line 121
special_representation_of_cell
L216
special_representation_of_cell (CharacterTable ct, WCell cell) = W_repalso in this file at line 129
special_projectors
L219
special_projectors(CharacterTable ct, [WCell] cells) = [mat]also in this file at line 135
Generated from atlas-scripts at commit 7e1b958 (2026-09-17).