Here is a screenshot from what I showed today. This should work on any reasonably up to date version of atlas. Jeff A RealNilpotent in atlas is a defined type consisting of an (integer) vec H (the semisimple part of an SL(2)-triple), a KGBElt x (saying in which Borel we should think of H living) and a void "()" (present for technical reasons) atlas> set G=SL(2,R) atlas> set orbits=real_nilpotent_orbits (G) This makes "orbits" a list of RealNilpotent's. Always orbits[0] will be the zero orbit. The function "functions_on_real_orbit" takes a RealNilpotent and returns a ParamPol of tempered (standard) parameters. The restriction to K of this ParamPol gives the K-types of the functions on the orbit. atlas> set a=functions_on_real_orbit (orbits[0]) atlas> a 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 spherical principal series at nu=0, MINUS the sum of the two discrete series at lambda = 1. atlas> print_branch_std_long (a,20) m x lambda hw dim height 1 2 [ 1 ]/1 [ 0 ] 1 0 This since this is the zero orbit, the only functions are the constants: trivial rep of K and nothing else. atlas> set a=functions_on_real_orbit (orbits[1]) Variable a: ParamPol orbits[1] is the "positive half" of the K-nilpotent cone; orbits[2] is the "negative half. atlas> set b=functions_on_real_orbit (orbits[2]) Variable b: ParamPol atlas> print_branch_std_long (a,20) m x lambda hw dim height 1 2 [ 1 ]/1 [ 0 ] 1 0 1 0 [ 1 ]/1 [ 2 ] 1 1 1 0 [ 3 ]/1 [ 4 ] 1 3 1 0 [ 5 ]/1 [ 6 ] 1 5 1 0 [ 7 ]/1 [ 8 ] 1 7 1 0 [ 9 ]/1 [ 10 ] 1 9 1 0 [ 11 ]/1 [ 12 ] 1 11 1 0 [ 13 ]/1 [ 14 ] 1 13 1 0 [ 15 ]/1 [ 16 ] 1 15 1 0 [ 17 ]/1 [ 18 ] 1 17 1 0 [ 19 ]/1 [ 20 ] 1 19 atlas> print_branch_std_long (b,20) m x lambda hw dim height 1 2 [ 1 ]/1 [ 0 ] 1 0 1 1 [ 1 ]/1 [ -2 ] 1 1 1 1 [ 3 ]/1 [ -4 ] 1 3 1 1 [ 5 ]/1 [ -6 ] 1 5 1 1 [ 7 ]/1 [ -8 ] 1 7 1 1 [ 9 ]/1 [ -10 ] 1 9 1 1 [ 11 ]/1 [ -12 ] 1 11 1 1 [ 13 ]/1 [ -14 ] 1 13 1 1 [ 15 ]/1 [ -16 ] 1 15 1 1 [ 17 ]/1 [ -18 ] 1 17 1 1 [ 19 ]/1 [ -20 ] 1 19 Here's the list of orbits for Sp(6,R): atlas> set orbits =real_nilpotent_orbits(Sp(6,R)) atlas> #orbits Value: 19 atlas> for i:19 do prints(i," ",orbits[i]) od 0 ([ 0, 0, 0 ],KGB element #0,()) 1 ([ 1, 0, 0 ],KGB element #2,()) 2 ([ 1, 0, 0 ],KGB element #4,()) 3 ([ 1, 1, 0 ],KGB element #5,()) 4 ([ 1, 1, 0 ],KGB element #6,()) 5 ([ 1, 1, 0 ],KGB element #0,()) 6 ([ 1, 1, 1 ],KGB element #5,()) 7 ([ 1, 1, 1 ],KGB element #4,()) 8 ([ 1, 1, 1 ],KGB element #0,()) 9 ([ 1, 1, 1 ],KGB element #7,()) 10 ([ 2, 2, 0 ],KGB element #3,()) 11 ([ 3, 1, 0 ],KGB element #1,()) 12 ([ 3, 1, 0 ],KGB element #0,()) 13 ([ 3, 1, 1 ],KGB element #0,()) 14 ([ 3, 1, 1 ],KGB element #1,()) 15 ([ 3, 1, 1 ],KGB element #3,()) 16 ([ 3, 1, 1 ],KGB element #4,()) 17 ([ 5, 3, 1 ],KGB element #0,()) 18 ([ 5, 3, 1 ],KGB element #4,()) The orbits 1-2 with H=[1,0,0] are the two minimal orbits 21111; the orbits with 3-5 with H=[1,1,0] correspond to the partition 2211. Turns out that one of the ones I was looking at is orbits[4]: atlas> set a4 = functions_on_real_orbit(orbits[4]) atlas> print_branch_std_long(a4,x7,30) m x lambda hw dim height 1 44 [ 3, 2, 1 ]/1 [ 0, 0, 0 ] 1 0 1 13 [ 1, 0, 1 ]/1 [ 2, 0, 0 ] 6 5 1 11 [ 1, 1, 0 ]/1 [ 2, 2, 0 ] 6 7 1 13 [ 3, 0, 1 ]/1 [ 4, 0, 0 ] 15 15 1 11 [ 3, 1, 0 ]/1 [ 4, 2, 0 ] 27 17 1 6 [ 3, 2, 1 ]/1 [ 4, 4, 0 ] 15 22 1 13 [ 5, 0, 1 ]/1 [ 6, 0, 0 ] 28 25 1 11 [ 5, 1, 0 ]/1 [ 6, 2, 0 ] 60 27