Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download
Views: 141
type='F' rank=4 S=RootSystem([type,rank]).ambient_space().simple_roots() R=RootSystem([type,rank]).ambient_space().roots() identitysize=RootSystem([type,rank]).ambient_space().dimension() e=identity_matrix(identitysize) temp=RootSystem([type,rank]).ambient_space().positive_roots() positiveroots=copy([]) for proot in temp: positiveroots.append(vector(proot)) W=RootSystem([type,rank]).ambient_space().weyl_group() s=copy([[]]) for i in [1..rank]: s.append(W.simple_reflections()[i]) print "Simple roots:\n",list(RootSystem([type,rank]).ambient_space().simple_roots()),"\n" print "Fundamental weights:\n",list(RootSystem([type,rank]).ambient_space().fundamental_weights()),"\n" rho=0 for pr in list(RootSystem([type,rank]).ambient_space().fundamental_weights()): rho=rho+pr print "Rho=",rho #------------------------- #This finds the w's W=WeylGroup(['F',4],prefix="s") minlengthcosetreps=copy([]) for w in W: m=w.coset_representative([], side='left').coset_representative([2,3,4], side='right') if m not in minlengthcosetreps: minlengthcosetreps.append(m) minlengthcosetreps.sort() for r in minlengthcosetreps: print r,"\n\n",r.matrix(),"\n" #------------------------------------------ #This finds the v's WP=WeylGroup(['F',4],prefix="s") Pminlengthcosetreps=copy([]) for w in WP: m=w.coset_representative([1,2,3], side='left').coset_representative([1,2,3], side='right') if m not in Pminlengthcosetreps: Pminlengthcosetreps.append(m) Pminlengthcosetreps.sort() for r in Pminlengthcosetreps: print r,"\n\n",r.matrix(),"\n" #---------------------------------------- #Finds what parabolic subgroups of M M_w and M_v are gens_1=[s[1],s[2],s[3]] gens_2=[s[1],s[2],s[3]] gens_3=[s[1],s[2],s[4]] P_1=MatrixGroup(gens_1) P_2=MatrixGroup(gens_2) P_3=MatrixGroup(gens_3) #w=minlengthcosetreps[0] #v=Pminlengthcosetreps[0] print "\n Roots of M_w:\n" for i in SplitRoots(StabilizerRoots(P_1,P_2,w))[0]: print "+-",i print "\n Roots of M_v:\n" for i in SplitRoots(StabilizerRoots(P_1,P_3,v))[0]: print "+-",i print "\nSimple roots, for reference:\n",list(RootSystem([type,rank]).ambient_space().simple_roots()),"\n" #----------------------------------- #Finds the x's Wx=WeylGroup(['B',3],prefix="s") xminlengthcosetreps=copy([]) for wx in Wx: m=wx.coset_representative([1,2], side='left').coset_representative([1,2,3], side='right') if m not in xminlengthcosetreps: xminlengthcosetreps.append(m) xminlengthcosetreps.sort() print "List of x's:\n" for r in xminlengthcosetreps: print r,"\n\n",r.matrix(),"\n" #-------------------------------------------------- #generators should be specified by simple reflections (s[i]'s), in case of B, use e or use W.one() x=e #x appropriately shifted from P_1 to F4 print "\n roots in ( x^-1 M_w x ) intersect M_v: \n" for i in SplitRoots(xMwMvroots(P_1,P_2,P_3,w,v,x))[0]: print "+-",i print "\nSimple roots, for reference:\n",list(RootSystem([type,rank]).ambient_space().simple_roots()),"\n" print "Fundamental weights:\n",list(RootSystem([type,rank]).ambient_space().fundamental_weights()),"\n" #--------------------------------------------------------- #gamma is the vector against which we are measuring the levels #Choose gamma as the sum of Weights corresponding to Simple roots not in (x^-1Mwx intersect Mv) gamma=vector([1,0,0,0]) print "\n Roots in (N_v^perp) not in ( x^-1 N_w x ):" PrintRootsWithLevels(gamma,SetDifference(Nvperp(gamma,P_1,P_3,v),WconjugateRoots(x.inverse(),SplitRoots(StabilizerRoots(P_1,P_2,w))[1]))[0]) #=-------------------------------------------------- #Un-comment and run this code to find Nroots, Nv^Perp, (x^-1 Nw x) explicitly #print "\n Nroots in the stabilizer" #PrintRootsWithLevels(gamma,MNroots(P_1,P_2,w,gamma)[1]) #print "\n Mroots in the stabilizer\n" #for i in SplitRoots(StabilizerRoots(P_1,P_2,w))[0]: # print "+-",i #print "\n x=\n",x,"\n" #print "\n Roots forming coordinates for the orbit (N_v^perp):" #PrintRootsWithLevels(gamma,Nvperp(gamma,P_1,P_3,v)) #print "\n roots in ( x^-1 N_w x ): \n" #PrintRootsWithLevels(gamma,WconjugateRoots(x.inverse(),SplitRoots(StabilizerRoots(P_1,P_2,w))[1]))
Simple roots: [(0, 1, -1, 0), (0, 0, 1, -1), (0, 0, 0, 1), (1/2, -1/2, -1/2, -1/2)] Fundamental weights: [(1, 1, 0, 0), (2, 1, 1, 0), (3/2, 1/2, 1/2, 1/2), (1, 0, 0, 0)] Rho= (11/2, 5/2, 3/2, 1/2) s1*s2*s3*s4*s2*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [-1 0 0 0] [ 0 0 1 0] [ 0 0 0 1] s2*s3*s4*s2*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [ 0 0 1 0] [-1 0 0 0] [ 0 0 0 1] s3*s4*s2*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [ 0 0 1 0] [ 0 0 0 1] [-1 0 0 0] s4*s2*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [ 0 0 1 0] [ 0 0 0 1] [ 1 0 0 0] s4*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [ 0 0 1 0] [ 1 0 0 0] [ 0 0 0 1] s4*s3*s2*s3*s4*s1*s2*s3*s2*s1 [ 0 -1 0 0] [ 1 0 0 0] [ 0 0 1 0] [ 0 0 0 1] s2*s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [-1/2 -1/2 1/2 -1/2] [-1/2 -1/2 -1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] s3*s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [-1/2 -1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] [-1/2 -1/2 -1/2 1/2] s1*s2*s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [-1/2 -1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] [ 1/2 1/2 1/2 -1/2] s1*s2*s3*s4*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [-1/2 -1/2 1/2 -1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] s3*s2*s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] [-1/2 -1/2 1/2 -1/2] [-1/2 -1/2 -1/2 1/2] s2*s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] [-1/2 -1/2 1/2 -1/2] [ 1/2 1/2 1/2 -1/2] s3*s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] [ 1/2 1/2 1/2 -1/2] [-1/2 -1/2 1/2 -1/2] s4*s1*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 1/2 -1/2 1/2] s2*s3*s4*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 1/2 1/2 -1/2] [-1/2 -1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] s3*s4*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] [-1/2 -1/2 1/2 -1/2] s4*s2*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 -1/2] [ 1/2 1/2 -1/2 1/2] s4*s3*s2*s1 [ 1/2 -1/2 1/2 1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 1/2 -1/2 1/2] [ 1/2 -1/2 -1/2 -1/2] s1*s2*s3*s2*s1 [ 1 0 0 0] [ 0 -1 0 0] [ 0 0 1 0] [ 0 0 0 1] s2*s3*s2*s1 [ 1 0 0 0] [ 0 0 1 0] [ 0 -1 0 0] [ 0 0 0 1] s3*s2*s1 [ 1 0 0 0] [ 0 0 1 0] [ 0 0 0 1] [ 0 -1 0 0] s2*s1 [1 0 0 0] [0 0 1 0] [0 0 0 1] [0 1 0 0] s1 [1 0 0 0] [0 0 1 0] [0 1 0 0] [0 0 0 1] 1 [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] s4*s3*s2*s3*s1*s2*s3*s4*s3*s2*s3*s1*s2*s3*s4 [-1 0 0 0] [ 0 1 0 0] [ 0 0 1 0] [ 0 0 0 1] s4*s3*s2*s3*s1*s2*s3*s4 [-1/2 1/2 1/2 1/2] [ 1/2 1/2 1/2 -1/2] [ 1/2 1/2 -1/2 1/2] [ 1/2 -1/2 1/2 1/2] s4*s3*s2*s3*s4 [0 1 0 0] [1 0 0 0] [0 0 1 0] [0 0 0 1] s4 [ 1/2 1/2 1/2 1/2] [ 1/2 1/2 -1/2 -1/2] [ 1/2 -1/2 1/2 -1/2] [ 1/2 -1/2 -1/2 1/2] 1 [1 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1] Roots of M_w:
Error in lines 46-47 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals) File "", line 1, in <module> NameError: name 'SplitRoots' is not defined