Script File
bruhat.at
bruhat order: given x,y\in KGB(G) compute x<=y (boolean) in principle this is determined by the covering relations, as given by KGB_Hasse
Definitions in source order
descend
L10
descend(int s,KGBElt x) = [KGBElt]single or multivalued descent of C- or real root
bruhat_leq
L34
bruhat_leq(KGBElt x,KGBElt y) = boolAlgorithm: to test x<=y:
a) if x=y return true
b) length(y)<=length(x) return false
if not then length(y)>length(x) => y has a descent s
set y'=descend(s,y) (one of the 2 if double valued)
then apply the following table
type s for x return remark
C+,ci,nci1 x<=y' ascent
C-,r2 x'=descend(s,x) in x'<=y' single valued descent
r1 {x',x''}=descend(s,x) in x'<=y' or x''<=y' double valued descent
nci2 x<=y' or cross(s,x)<=y' ascent (image of double-valued descent)
bruhat_geq
L66
bruhat_geq(KGBElt x,KGBElt y) = boolx\ge y
bruhat_leq
L69
bruhat_leq(KGBElt x) = [KGBElt]return list of y which are <=x
bruhat_geq
L71
bruhat_geq(KGBElt x) = [KGBElt]return list of y which are >=x
bruhat_leq
L75
bruhat_leq(RealForm G) = [[bool]]compute all <= and return in a table for quick access bruhat_leq(G)[i][j]=bruhat_leq(KGB(G,i),KGB(G,j)
bruhat_geq
L81
bruhat_geq(RealForm G) = [[bool]]compute all >= and return in a table for quick access bruhat_geq(G)[i][j]=bruhat_geq(KGB(G,i),KGB(G,j)
bruhat 2 overloads
L86
bruhat(KGBElt x,KGBElt y) = booldefault: <=
L87
bruhat(RealForm G) = [[bool]]also in this file at line 145
show_bruhat_leq
L90
show_bruhat_leq(RealForm G) = voidoutput table of <= for G
show_bruhat_geq
L99
show_bruhat_geq(RealForm G) = voidoutput table of >= for G
show_bruhat
L108
show_bruhat(RealForm G) = voiddefault table: <=
also in this file at line 171
Bruhat order on Weyl groupL110
lengthens
L113
lengthens(int s,WeylElt w) = boollength(s*w)>length(w)
shortens
L117
shortens(int s,WeylElt w) = boollength(s*w)<length(w)
bruhat_W_leq
L120
bruhat_W_leq(WeylElt x,WeylElt y) = boolx <= y
bruhat_W_geq
L140
bruhat_W_geq(WeylElt x,WeylElt y) = boolx>=y
bruhat_W
L143
bruhat_W(WeylElt x,WeylElt y) = booldefault: x<=y
bruhat
L145
bruhat(WeylElt x,WeylElt y) = booldon't really need the W
sort_by_length
L147
sort_by_length = ([WeylElt] -> [WeylElt])sort_by_length_descending
L149
sort_by_length_descending = ([WeylElt] -> [WeylElt])show_bruhat_W_leq
L153
show_bruhat_W_leq(RootDatum rd) = voidoutput table of <= for W
show_bruhat_W_geq
L162
show_bruhat_W_geq(RootDatum rd) = voidoutput table of <= for W
show_bruhat_W
L170
show_bruhat_W(RootDatum rd) = voidshow_bruhat
L171
show_bruhat(RootDatum rd) = voidalso in this file at line 108
Generated from atlas-scripts at commit 7e1b958 (2026-09-17).