atlas> set G=SL(2,R) Variable G: RealForm atlas> hermitian_form_irreducible(G.trivial) Value: 1*parameter(x=2,lambda=[1]/1,nu=[0]/1) [0] -1*parameter(x=1,lambda=[1]/1,nu=[0]/1) [1] -1*parameter(x=0,lambda=[1]/1,nu=[0]/1) [1] {this is the formula illustrated on the OneNote page} atlas> set G=Sp(4,R) Variable G: RealForm (overriding previous instance, which had type RealForm) atlas> hermitian_form_irreducible(G.trivial) Value: 1*parameter(x=10,lambda=[2,1]/1,nu=[0,0]/1) [0] -1*parameter(x=4,lambda=[1,0]/1,nu=[0,0]/1) [2] -1*parameter(x=3,lambda=[1,0]/1,nu=[0,0]/1) [3] -1*parameter(x=2,lambda=[1,0]/1,nu=[0,0]/1) [3] -1*parameter(x=1,lambda=[1,0]/1,nu=[0,0]/1) [3] -1*parameter(x=0,lambda=[1,0]/1,nu=[0,0]/1) [3] 1*parameter(x=6,lambda=[2,1]/1,nu=[0,0]/1) [6] 1*parameter(x=5,lambda=[2,1]/1,nu=[0,0]/1) [6] 1*parameter(x=4,lambda=[2,1]/1,nu=[0,0]/1) [6] -1*parameter(x=3,lambda=[2,1]/1,nu=[0,0]/1) [7] -1*parameter(x=2,lambda=[2,1]/1,nu=[0,0]/1) [7] -1*parameter(x=1,lambda=[2,1]/1,nu=[0,0]/1) [7] -1*parameter(x=0,lambda=[2,1]/1,nu=[0,0]/1) [7] {this is the "more complicated" formula for Sp(4,R)} atlas> set x3=KGB(G,3) Variable x3: KGBElt {since x3 is in the fundamental fiber, and makes the short root[s all] compact, this is the one needed to give human highest weight coordinates for K=U(2). In Sp(2n,R), it's KGB(G, 2^n - 1).} {I wanted to compute this alternating sum of tempered reps "one step at a time," computing the restriction to K at each step} atlas> set M=monomials(hermitian_form_irreducible(G.trivial)) Variable M: [Param] atlas> print_branch_irr_long(M[0],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 1 4 [ 1, 0 ]/1 [ 1, -1 ] 3 2 1 3 [ 1, 0 ]/1 [ 2, 2 ] 1 3 1 2 [ 1, 0 ]/1 [ -2, -2 ] 1 3 2 1 [ 1, 0 ]/1 [ 2, 0 ] 3 3 2 0 [ 1, 0 ]/1 [ 0, -2 ] 3 3 1 6 [ 2, 1 ]/1 [ 3, 1 ] 3 6 1 5 [ 2, 1 ]/1 [ -1, -3 ] 3 6 3 4 [ 2, 1 ]/1 [ 2, -2 ] 5 6 2 1 [ 2, 1 ]/1 [ 3, -1 ] 5 7 2 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 2 3 [ 3, 0 ]/1 [ 4, 2 ] 3 9 2 2 [ 3, 0 ]/1 [ -2, -4 ] 3 9 3 1 [ 3, 0 ]/1 [ 4, 0 ] 5 9 3 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 3 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 1 3 [ 3, 2 ]/1 [ 4, 4 ] 1 11 1 2 [ 3, 2 ]/1 [ -4, -4 ] 1 11 4 1 [ 3, 2 ]/1 [ 4, -2 ] 7 11 4 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 2 6 [ 4, 1 ]/1 [ 5, 1 ] 5 12 2 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 1 3 [ 4, 1 ]/1 [ 5, 3 ] 3 13 1 2 [ 4, 1 ]/1 [ -3, -5 ] 3 13 3 1 [ 4, 1 ]/1 [ 5, -1 ] 7 13 3 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 5 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 3 3 [ 5, 0 ]/1 [ 6, 2 ] 5 15 3 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 4 1 [ 5, 0 ]/1 [ 6, 0 ] 7 15 4 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 4 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 4 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 {that's the spherical principal series. Now subtract the next five terms:} atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 -1 6 [ 2, 1 ]/1 [ 3, 1 ] 3 6 -1 5 [ 2, 1 ]/1 [ -1, -3 ] 3 6 -1 4 [ 2, 1 ]/1 [ 2, -2 ] 5 6 -1 1 [ 2, 1 ]/1 [ 3, -1 ] 5 7 -1 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 -1 3 [ 3, 0 ]/1 [ 4, 2 ] 3 9 -1 2 [ 3, 0 ]/1 [ -2, -4 ] 3 9 -1 1 [ 3, 0 ]/1 [ 4, 0 ] 5 9 -1 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 -2 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 -2 1 [ 3, 2 ]/1 [ 4, -2 ] 7 11 -2 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 -2 6 [ 4, 1 ]/1 [ 5, 1 ] 5 12 -2 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 -1 3 [ 4, 1 ]/1 [ 5, 3 ] 3 13 -1 2 [ 4, 1 ]/1 [ -3, -5 ] 3 13 -2 1 [ 4, 1 ]/1 [ 5, -1 ] 7 13 -2 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 -3 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 -2 3 [ 5, 0 ]/1 [ 6, 2 ] 5 15 -2 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 -2 1 [ 5, 0 ]/1 [ 6, 0 ] 7 15 -3 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 -2 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 -3 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 {This has gotten rid of the K-types of heights 2 and 3. Now add the next three terms:} atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5]+M[6]+M[7]+M[8],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 1 3 [ 2, 1 ]/1 [ 3, 3 ] 1 7 1 2 [ 2, 1 ]/1 [ -3, -3 ] 1 7 1 1 [ 2, 1 ]/1 [ 3, -1 ] 5 7 1 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 1 1 [ 3, 0 ]/1 [ 4, 0 ] 5 9 1 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 2 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 1 1 [ 3, 2 ]/1 [ 4, -2 ] 7 11 1 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 1 6 [ 4, 1 ]/1 [ 5, 1 ] 5 12 1 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 1 3 [ 4, 1 ]/1 [ 5, 3 ] 3 13 1 2 [ 4, 1 ]/1 [ -3, -5 ] 3 13 2 1 [ 4, 1 ]/1 [ 5, -1 ] 7 13 2 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 2 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 1 3 [ 5, 0 ]/1 [ 6, 2 ] 5 15 1 3 [ 4, 3 ]/1 [ 5, 5 ] 1 15 1 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 1 2 [ 4, 3 ]/1 [ -5, -5 ] 1 15 2 1 [ 5, 0 ]/1 [ 6, 0 ] 7 15 3 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 2 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 3 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 {This has gotten rid of the 3 height six K-types. Subtract the next four terms one at a time: atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5]+M[6]+M[7]+M[8]-M[9],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 1 2 [ 2, 1 ]/1 [ -3, -3 ] 1 7 1 1 [ 2, 1 ]/1 [ 3, -1 ] 5 7 1 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 1 1 [ 3, 0 ]/1 [ 4, 0 ] 5 9 1 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 2 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 1 1 [ 3, 2 ]/1 [ 4, -2 ] 7 11 1 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 1 6 [ 4, 1 ]/1 [ 5, 1 ] 5 12 1 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 1 2 [ 4, 1 ]/1 [ -3, -5 ] 3 13 2 1 [ 4, 1 ]/1 [ 5, -1 ] 7 13 2 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 2 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 1 3 [ 5, 0 ]/1 [ 6, 2 ] 5 15 1 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 1 2 [ 4, 3 ]/1 [ -5, -5 ] 1 15 2 1 [ 5, 0 ]/1 [ 6, 0 ] 7 15 3 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 2 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 3 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5]+M[6]+M[7]+M[8]-M[9]-M[10],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 1 1 [ 2, 1 ]/1 [ 3, -1 ] 5 7 1 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 1 1 [ 3, 0 ]/1 [ 4, 0 ] 5 9 1 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 2 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 1 1 [ 3, 2 ]/1 [ 4, -2 ] 7 11 1 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 1 6 [ 4, 1 ]/1 [ 5, 1 ] 5 12 1 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 2 1 [ 4, 1 ]/1 [ 5, -1 ] 7 13 2 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 2 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 1 3 [ 5, 0 ]/1 [ 6, 2 ] 5 15 1 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 2 1 [ 5, 0 ]/1 [ 6, 0 ] 7 15 3 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 2 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 3 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5]+M[6]+M[7]+M[8]-M[9]-M[10]-M[11],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 1 0 [ 2, 1 ]/1 [ 1, -3 ] 5 7 1 0 [ 3, 0 ]/1 [ 0, -4 ] 5 9 1 4 [ 3, 2 ]/1 [ 3, -3 ] 7 10 1 0 [ 3, 2 ]/1 [ 2, -4 ] 7 11 1 5 [ 4, 1 ]/1 [ -1, -5 ] 5 12 2 0 [ 4, 1 ]/1 [ 1, -5 ] 7 13 1 4 [ 4, 3 ]/1 [ 4, -4 ] 9 14 1 2 [ 5, 0 ]/1 [ -2, -6 ] 5 15 1 1 [ 4, 3 ]/1 [ 5, -3 ] 9 15 2 0 [ 5, 0 ]/1 [ 0, -6 ] 7 15 2 0 [ 4, 3 ]/1 [ 3, -5 ] 9 15 atlas> print_branch_irr_long(M[0]-M[1]-M[2]-M[3]-M[4]-M[5]+M[6]+M[7]+M[8]-M[9]-M[10]-M[11]-M[12],x3,15) m x lambda hw dim height 1 10 [ 2, 1 ]/1 [ 0, 0 ] 1 0 {Only at the very end did anything comprehensible appear!} ************* {Here is approximately how to enter a representation of K. Its highest weight is a KHighestWeight, which means a triple consisting of a void, a KGBElt (defining the positive roots) and a vec (the highest weight). atlas may not recognize this as a KHighestWeight unless it's explicitly told, so} atlas> set mu = KHighestWeight: ((),x3,[0,0]) Variable mu: KHighestWeight atlas> set muReally=K_type(mu) Variable muReally: K_Type atlas> dimension(muReally) Value: 1 atlas> set muAd = KHighestWeight: ((),x3,[1,-1]) Variable muAd: KHighestWeight atlas> set muAdReally=K_type(muAd) Variable muAdReally: K_Type atlas> dimension(muAdReally) Value: 3