Documentation contents

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
Source
atlas-scripts/bruhat.at (171 lines)
Definitions
24
Loads
Loaded by
none of the other all.at files

Definitions in source order

descend

L10descend(int s,KGBElt x) = [KGBElt]
single or multivalued descent of C- or real root

bruhat_leq

L34bruhat_leq(KGBElt x,KGBElt y) = bool
Algorithm: 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)

also in this file at line 69, line 75

bruhat_geq

L66bruhat_geq(KGBElt x,KGBElt y) = bool
x\ge y

also in this file at line 71, line 81

bruhat_leq

L69bruhat_leq(KGBElt x) = [KGBElt]
return list of y which are <=x

also in this file at line 34, line 75

bruhat_geq

L71bruhat_geq(KGBElt x) = [KGBElt]
return list of y which are >=x

also in this file at line 66, line 81

bruhat_leq

L75bruhat_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)

also in this file at line 34, line 69

bruhat_geq

L81bruhat_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)

also in this file at line 66, line 71

bruhat 2 overloads

L86bruhat(KGBElt x,KGBElt y) = bool
default: <=
L87bruhat(RealForm G) = [[bool]]

also in this file at line 145

show_bruhat_leq

L90show_bruhat_leq(RealForm G) = void
output table of <= for G

show_bruhat_geq

L99show_bruhat_geq(RealForm G) = void
output table of >= for G

show_bruhat

L108show_bruhat(RealForm G) = void
default table: <=

also in this file at line 171

Bruhat order on Weyl group
L110

lengthens

L113lengthens(int s,WeylElt w) = bool
length(s*w)>length(w)

shortens

L117shortens(int s,WeylElt w) = bool
length(s*w)<length(w)

bruhat_W_leq

L120bruhat_W_leq(WeylElt x,WeylElt y) = bool
x <= y

bruhat_W_geq

L140bruhat_W_geq(WeylElt x,WeylElt y) = bool
x>=y

bruhat_W

L143bruhat_W(WeylElt x,WeylElt y) = bool
default: x<=y

bruhat

L145bruhat(WeylElt x,WeylElt y) = bool
don't really need the W

also in this file at line 86, line 87

sort_by_length

L147sort_by_length = ([WeylElt] -> [WeylElt])

sort_by_length_descending

L149sort_by_length_descending = ([WeylElt] -> [WeylElt])

show_bruhat_W_leq

L153show_bruhat_W_leq(RootDatum rd) = void
output table of <= for W

show_bruhat_W_geq

L162show_bruhat_W_geq(RootDatum rd) = void
output table of <= for W

show_bruhat_W

L170show_bruhat_W(RootDatum rd) = void

show_bruhat

L171show_bruhat(RootDatum rd) = void

also in this file at line 108

Generated from atlas-scripts at commit 7e1b958 (2026-09-17).