atlas Library · Script File
misc.at
Definitions in source order
is_nonnegative
L4
is_nonnegative (vec v) = booltest if an integer is even, or a rational is an integer
also in this file at line 9
is_positive 2 overloads
L5
is_positive (vec v) = boolL8
is_positive (ratvec v) = booltest if a ratvec is in fact a vec (integers)
also defined in coherent_irreducible.at
is_nonnegative
L9
is_nonnegative (ratvec v) = boolalso in this file at line 4
%
L12
% (ParamPol P) = [(Split,Param)]transform ParamPol into a list of (Split,Param) pairs; previously built-in
also defined in basic.at, extParamPol.at, polynomial.at
int_part
L15
int_part (ParamPol P) = ParamPolint_part and s_part of a ParamPol, s.t. P=int_part(P)+s*s_part(P)
also defined in basic.at, K_types.at
s_part
L16
s_part (ParamPol P) = ParamPolalso defined in basic.at, K_types.at
param
L19
param(RealForm G,int k, vec lambda_rho,ratvec nu) = Paramsimpler syntax for param command: param(G,3,...) for param(KGB(G,3),...)
finalize
L24
finalize (Param p) = ParamPolreplace non-final parameter with ParamPol this function used to return a [Param] instead, with coefficients ignored
also in this file at line 29
Finalize
L26
Finalize(Param p) = Paramfinalize
L29
finalize ([Param] P) = ParamPolwill fail on an empty list
also in this file at line 24
# 3 overloads
L34
#(Split w,int t)evaluate at s=t for t integer (or rational?): replace w=a+bs with a+bt
would seem to make sense only if t^2=1, so if either t=1 or t=-1
L35
#(Split w,rat t)L36
#(ParamPol P,int t) = ParamPolwith integer coefficients
properties of groupsL39
fiber_partition
L41
fiber_partition(RealForm G) = [int]ss_rank
L43
ss_rank (RootDatum rd)also defined in affine.at
root_length
L45
root_length(RootDatum rd,vec alpha) = intis_simple_root
L46
is_simple_root(RootDatum rd,[int] alpha) = boolsimple_imaginary_subsystem
L48
simple_imaginary_subsystem (KGBElt x) = (mat,mat)simple (co)roots
simple_real_subsystem
L51
simple_real_subsystem (KGBElt x) = (mat,mat)simple (co)roots
to_binary
L54
to_binary (int length, int n) = vecgenerate_all_binary
L58
generate_all_binary = (int->[vec])generate_all_subsets 3 overloads
L61
generate_all_subsets = ([int]->[[int]])generate all subsets of a set of integers
L64
generate_all_subsets([vec] S) = [[vec]]generate all subsets of a set of vectors
L68
generate_all_subsets([ratvec] S) = [[ratvec]]all 2^n subsets of a set of rational vectors
is_proper_subset
L72
is_proper_subset(vec A,vec B) = boolA is a proper subset of B
also defined in parameters.at
complement
L76
complement([Param] A,[Param] B) = [Param]complement of A in B
also defined in basic.at, parameters.at
prettyPrint 2 overloads
L80
prettyPrint (Split w) = stringnicer display of Splits
L93
prettyPrint (ParamPol P) = voidnice output of ParamPol: prettyPrint the coefficients, print terms in order of x
box 2 overloads
L98
rec_fun box(int height, int rank) = [[int]]Cartesian power (#height)^rank, lists of length rank of numbers <height
converted from [vec] to [[int]]
L102
rec_fun box([int] heights) = [[int]]Cartesian product (#heights[0])*(#heights[1])*...*(heights~[0])
converted
flatten
L104
flatten = ## @ [[int]]delete_trailing_zeros
L107
delete_trailing_zeros([int] list) = [int]delete trailing zeros, a.k.a. |strip_to_partition| from combinatorics.at
delete_leading_zeros
L110
delete_leading_zeros([int] list) = [int]more basic functions involving rootsL113
not_a_root 2 overloads
L116
not_a_root(RootDatum rd,vec v) = boolfor logical convenience
L117
not_a_root(RootDatum rd) = (vec -> bool)all_root_index 2 overloads
L120
all_root_index(RootDatum rd,vec alpha) = intindex of root in list of all roots
L121
all_root_index(RootDatum rd) = (vec -> int)also defined in tits_centralizer.at
simple_root_index 2 overloads
L124
simple_root_index(RootDatum rd,vec alpha) = intindex of root in list of simple roots
L125
simple_root_index(RootDatum rd) = (vec -> int)pm_simple_root_index 2 overloads
L130
pm_simple_root_index(RootDatum rd,vec alpha) = intreturn 0...n-1=simple root index of alpha (if positive simple) or -alpha (if negative simple) or -1 to indicate an error
L132
pm_simple_root_index(RootDatum rd) = (vec -> int)sgn 2 overloads
L135
sgn(RootDatum rd,vec alpha) = intsgn(alpha)alpha is positive
L138
sgn(RootDatum rd) = (vec->int)also defined in Weylgroup.at
height 2 overloads
L143
height(RootDatum rd,vec alpha) = intalpha>0: height(alpha)=sum of coefficients of simple roots alpha<0: height(alpha)=height(-alpha)(
L146
height(RootDatum rd) = (vec->int)also defined in basic.at
roots_of_height
L149
roots_of_height(RootDatum rd,int height) = [vec]list roots of given height
max_height
L152
max_height(RootDatum rd) = intalso defined in basic.at
roots_by_height
L156
roots_by_height(RootDatum rd) = [[vec]]all roots, sorted by height
root_string 2 overloads
L168
root_string(RootDatum rd, vec beta, vec alpha) = (int,int)return (p,q) where alpha+p\beta is a root (maximal such p) alpha-q\beta is a root (maximal such q)
set root_string(RootDatum rd, vec alpha, vec beta)=(int,int): assert(not alpha=-beta,"alpha=-beta"); let x = first(for i:4 do not is_root(rd,alpha+i*beta) od) then y = first(for i:4 do not is_root(rd,alpha-i*beta) od) in (x-1,y-1)
L173
root_string(RootDatum rd) = ((vec,vec)->(int,int))posroot_as_sum_of_simple
L176
posroot_as_sum_of_simple (RootDatum rd,vec alpha) = [vec]write a positive root as a sum of simple roots
root_as_sum_of_simple
L184
root_as_sum_of_simple(RootDatum rd,vec alpha) = [vec]write any root as sum of simple or sum of (-simple)
simple_root_summand
L197
simple_root_summand(RootDatum rd,vec alpha) = vecalpha>0: return alpha_1 (alpha_1 simple) so alpha= alpha_1+(other simple roots...) alpha<0: return -alpha_1 (alpha_1 simple) so alpha=-alpha_1-(other simple roots...)
Generated from atlas-scripts at commit 648506c (2026-10-13).