Documentation contents

atlas Library · Script File

hodge_functions.at

basics of functions from K-hat to Z,W and Z[v]
Source
atlas-scripts/hodge_functions.at (86 lines)
Definitions
21
Loads
Loaded by
hodge_K_type_formula.at

Definitions in source order

hodge_functions_verbose

L8hodge_functions_verbose = false

multiplicity_function type

L10
set_type multiplicity_function=(KType -> int)

signature_function type

L11
set_type signature_function=(KType -> Split)

hodge_function type

L12
set_type hodge_function= ((KType->i_poly) f,RealForm real_form)

Fields: f, real_form

minus_vee_to_the_k

L14minus_vee_to_the_k(int k) = i_poly

coefficient

L16coefficient(hodgeParamPol P,KType mu) = vec

also defined in hodgeParamLaurentPol.at, hodgeParamPol.at, lazy_lists.at

branch_function_std

L19branch_function_std(Param p) = multiplicity_function
the multiplicity function of I(p)

also defined in hodge_tensor.at

branch_function_std_as_hodge_function

L22branch_function_std_as_hodge_function(Param p) = hodge_function
the hodge function of I(p)
L26
moved to hodge_K_type_formula.at
L27
Commented-out code, lines 28–30 (2 lines)
set hodge_function_std(Param p)=hodge_function:
(KType mu):coefficient(hodge_branch_std(p,K_norm(mu)),mu)

Psi_S

L36Psi_S(hodge_function f,[KType] ktypes) = HodgeKTypePol
convert function f to \sum_mu f(mu)*mu
this function is slow and should be used sparingly
was called hodge_polynomial, renamed to Psi_S
see hodgeTempered.pdf (towards the end) and hodge_tensor.at

hodgePrint

L45hodgePrint(hodge_function f, [KType] ktypes) = void
warning: this is slow

print

L48print = hodgePrint@(hodge_function,[KType])

nullHodgeFunction

L50nullHodgeFunction(RealForm G) = hodge_function

sort 2 overloads

L52sort = ([(vec,KType)]->[(vec,KType)])
L54sort = ([(vec,Param)]->[(vec,Param)])

also defined in sommers.at, sort.at, nilpotent_posets.at

* 2 overloads

L58* (i_poly P, hodge_function f) = hodge_function
multiply function by polynomial: f_new(mu)=f(mu)*poly\in Z[v]
L61*(int i,hodge_function f) = hodge_function

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, hodgeParamPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, sparse.at, lazy_lists.at

+

L63+ (hodge_function f,hodge_function g) = hodge_function

also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, cyclotomic_Lie_algebra.at, cyclotomicMat.at, bracket.at, lazy_lists.at

-

L67- (hodge_function f,hodge_function g) = hodge_function

also defined in basic.at, extParamPol.at, modules.at, ratmat.at, cyclotomic.at, polynomial.at, hodgeParamLaurentPol.at, hodgeParamPol.at, laurentPolynomial.at, cyclotomicMat.at, lazy_lists.at

is_zero

L71is_zero(hodge_function f,[KType] ktypes) = bool

also defined in polynomial.at

hodge_theta_induce_standard 2 overloads

L80hodge_theta_induce_standard(Param p_L,RealForm G) = hodgeParamPol
Note: algorithm is, formally induce the parameter (which may be non-standard),
and then apply hodge_normalize. Recall hodge_normalize uses imaginary
wall-crossings, based on an SL(2,R) calculation, and always preserves nu=0.
The first step of standardize is a Cayley transform introduces non-zero nu,
but this is a red herring. See hodge_normalization.pdf in Dropbox
L84hodge_theta_induce_standard(hodgeParamPol P,RealForm G) = hodgeParamPol

Generated from atlas-scripts at commit 648506c (2026-10-13).