a@ThinkPad:~$ cd jeffa jda@ThinkPad:~/jeffa$ Atlas This is 'atlas' (version 1.0.9, axis language version 1.0), the Atlas of Lie Groups and Representations interpreter, compiled on Aug 17 2021 at 18:04:22. http://www.liegroups.org/ atlas> set G=Sp(4) Variable G: RootDatum atlas> show(G.Springer_table) Springer table G=C2 diagram dim(O) rep# dim(rep) deg gdeg char [0,0]* 0 4 1 4 [1,-1,-1,1,1] [1,0] 4 1 1 2 [1,-1,1,1,-1] [0,2]* 6 2 2 1 [2,0,0,-2,0] [2,2]* 8 0 1 0 [1,1,1,1,1] atlas> atlas> atlas> atlas> set G=Sp(4) Variable G: RootDatum (overriding previous instance, which had type RootDatum) atlas> set tables=init(G) Variable tables: [SpringerTable] atlas> #tables Value: 4 atlas> show(tables[0]) Springer table G=C2 diagram dim(O) rep# dim(rep) deg gdeg char [0,0]* 0 4 1 4 4 [1,-1,-1,1,1] [1,0] 4 1 1 2 1 [1,-1,1,1,-1] [0,2]* 6 2 2 1 1 [2,0,0,-2,0] [2,2]* 8 0 1 0 0 [1,1,1,1,1] atlas> show(tables[0].ct) Character table G=C2 Classes: i order class_size |cent| sgn(w) chi_refl(w)) name 0 1 1 8 1 2 [1+,1+] 1 2 2 4 -1 0 [2+] 2 2 2 4 -1 0 [1+,1-] 3 2 1 8 1 -2 [1-,1-] 4 4 2 4 1 0 [2-] Representations: i dim deg gdeg name 0 1 0 0 { 2 +|- } 1 1 2 1 { 1,1 +|- } 2 2 1 1 { 1 +|- 1 } 3 1 2 1 { +|- 2 } 4 1 4 4 { +|- 1,1 } atlas> show(tables[1]) Springer table G=A1+T1 diagram dim(O) rep# dim(rep) deg gdeg char [0]* 0 1 1 1 1 [1,-1] [2]* 2 0 1 0 0 [1,1] atlas> show(tables[2]) Springer table G=A1+T1 diagram dim(O) rep# dim(rep) deg gdeg char [0]* 0 1 1 1 1 [1,-1] [2]* 2 0 1 0 0 [1,1] atlas> show(tables[3]) Springer table G=2T1 diagram dim(O) rep# dim(rep) deg gdeg char []* 0 0 1 0 0 [1] atlas> set ct=tables[0].ct Variable ct: CharacterTable atlas> show(ct) Character table G=C2 Classes: i order class_size |cent| sgn(w) chi_refl(w)) name 0 1 1 8 1 2 [1+,1+] 1 2 2 4 -1 0 [2+] 2 2 2 4 -1 0 [1+,1-] 3 2 1 8 1 -2 [1-,1-] 4 4 2 4 1 0 [2-] Representations: i dim deg gdeg name 0 1 0 0 { 2 +|- } 1 1 2 1 { 1,1 +|- } 2 2 1 1 { 1 +|- 1 } 3 1 2 1 { +|- 2 } 4 1 4 4 { +|- 1,1 } atlas> set ct_L=tables[1].ct Variable ct_L: CharacterTable atlas> show(ct_L) Character table G=A1+T1 Classes: i order class_size |cent| sgn(w) chi_refl(w)) name 0 1 1 2 1 2 [1,1] 1 2 1 2 -1 0 [2] Representations: i dim deg gdeg name 0 1 0 0 [2] 1 1 1 1 [1,1] atlas> ct_L.root_datum.simple_roots Value: | 0 | | 2 | atlas> set ind=induce_character (ct_L,ct,ct_L.characters[0]) Variable ind: [int] atlas> ct.view_char(ind)_ ^ syntax error, unexpected IDENT, expecting '\n' atlas> ct.view_char(ind) # mult dim deg gdeg 0 1 1 0 0 1 1 1 2 1 2 1 2 1 1 atlas> truncate_by_generic_degree_induce_character (ct,ct_L,ct_L.characters[0]) Runtime error: Not an integer Evaluation aborted. atlas> truncate_by_generic_degree_induce_character (ct_L,ct,ct_L.characters[0]) Value: [0] atlas> truncate_by_degree_induce_character (ct_L,ct,ct_L.characters[0]) Value: [0] atlas> ct.view_char(induce_character (ct_L,ct,ct_L.characters[1]) ( > ) # mult dim deg gdeg 2 1 2 1 1 3 1 1 2 1 4 1 1 4 4 atlas> atlas> atlas> atlas> ct_L.generic_degree(1) Value: 1 atlas> show(ct) Character table G=C2 Classes: i order class_size |cent| sgn(w) chi_refl(w)) name 0 1 1 8 1 2 [1+,1+] 1 2 2 4 -1 0 [2+] 2 2 2 4 -1 0 [1+,1-] 3 2 1 8 1 -2 [1-,1-] 4 4 2 4 1 0 [2-] Representations: i dim deg gdeg name 0 1 0 0 { 2 +|- } 1 1 2 1 { 1,1 +|- } 2 2 1 1 { 1 +|- 1 } 3 1 2 1 { +|- 2 } 4 1 4 4 { +|- 1,1 } atlas> atlas> atlas> truncate_by_degree_induce_character (ct_L,ct,ct_L.characters[1]) Value: [2] atlas> set ct_M=tables[2].ct Variable ct_M: CharacterTable atlas> truncate_by_generic_degree_induce_character (ct_L,ct,ct_L.characters[1]) Value: [2,3] atlas> truncate_by_degree_induce_character (ct_L,ct,ct_L.characters[0]) Value: [0] atlas> induce_character (ct_L,ct,ct_L.characters[0]) Value: [4,0,2,0,0] atlas> ct.view_char(induce_character (ct_L,ct,ct_L.characters[0])) # mult dim deg gdeg 0 1 1 0 0 1 1 1 2 1 2 1 2 1 1 atlas> ct.view_char(induce_character (ct_M,ct,ct_M.characters[0])) # mult dim deg gdeg 0 1 1 0 0 2 1 2 1 1 3 1 1 2 1 atlas> set tables=init(F4_s) Variable tables: [SpringerTable] (overriding previous instance, which had type [SpringerTable]) atlas> find_smooth_ind_rep(tables,0,1) Value: (((5,8,[<>,<0>,<1>,<1.0.1.0>,<0.1>],Function defined at class_tables.at:50:5--51:71 (w): index(V[I]: for proj@i in project_W do (tables[i].class_of)(proj(w)) od ),[1,2,2,1,2],Function defined at W_classes.at:493:16-68 (i,n): let v=power_table[i] in v[%@(int,int)(n,#@vec(v))],[1,1,1,1,1],[1,-1,-1,1,1],[4,2,2,0,2],Function defined at W_classes.at:497:16-39 (val): val[e],Function defined at W_classes.at:498:10-35 (x): inner(x,x),Function defined at W_classes.at:474:8--477:66 (x,y): assert@(bool,string)( if =@(int,int)(#@[int](x),ncc) then =@(int,int)(#@[int](y),ncc) else false fi ,"Wrong sizes"); let s=sum@[int]( for size@i in sizes do *@(int,int)(*@(int,int)(size,x[i]),y[i]) od ) in let (q,r)=\%@(int,int)(s,nW) in if =@int(r) then q else error@(string,rat)("Non integer inner product ",/@(int,int)(s,nW)) fi ,Function defined at W_classes.at:501:2--502:52 ((x,y):pair): assert@(bool,string)( if =@(int,int)(#@[int](x),ncc) then =@(int,int)(#@[int](y),ncc) else false fi ,"Wrong sizes");sum(pair),Function defined at W_classes.at:504:2-74 (x,n): assert@(bool,string)(=@(int,int)(#@[int](x),ncc),"Wrong size"); for v in x do *@(int,int)(n,v) od ,Function defined at W_classes.at:506:2--507:57 ((x,y):pair): assert@(bool,string)( if =@(int,int)(#@[int](x),ncc) then =@(int,int)(#@[int](y),ncc) else false fi ,"Wrong sizes");product(pair),Function defined at W_classes.at:509:3-78 (x,n): assert@(bool,string)(=@(int,int)(#@[int](x),ncc),"Wrong size"); for xi in x do ^@(int,int)(xi,n) od ,Function defined at W_classes.at:511:2--522:28 (n): assert@(bool,string)(<=@(int,int)(n,npr),+@(string,int)("No symmetric powers recorded beyond ",npr)); while <@(int,int)(k,n) do k:=+@(int,int)(k,1);reflection_sympowers[k]:= for j: ncc do let (s,!chi)=(0,refl_characteristic[j]) in for i: min@(int,int)(rank,k) from 1 do s:=-@(int,int)(s,*@(int,int)(chi~[i],reflection_sympowers[-@(int,int)(k,i)][j])) od ;s od od ;reflection_sympowers[n]),[<>,<0>,<1>,<1.0.1.0>,<0.1>],Function defined at character_tables.at:79:21-66 (i): let (,,cl)=class_reps[i] in cl,Function defined at character_tables.at:80:17-71 (i): let (,cc,)=class_reps[i] in cc,Function defined at character_tables.at:82:24-57 (i): irreps[i],Function defined at character_tables.at:83:27-51 (i): labels[i],[0,2,1,2,4],Function defined at character_tables.at:63:5--67:5 (i): if <@int(generic_degrees[i]) then error@string(+@(string,string)(+@(string,int)("Generic degree of irrep ",i)," was not set")) else generic_degrees[i] fi ,Function defined at character_tables.at:68:3--74:5 (i,d,check): if <@int(generic_degrees[i]) then generic_degrees[i]:=d() else if check then assert@(bool,string)(=@(int,int)(generic_degrees[i],d()),"Generic degree change") else () fi ;generic_degrees[i] fi ,Function defined at character_tables.at:87:28--88:3 (i): >=@int(generic_degrees[i]), | 1, 1, 1, 1, 1 | | 1, -1, 1, 1, -1 | | 2, 0, 0, -2, 0 | | 1, 1, -1, 1, -1 | | 1, -1, -1, 1, 1 | ),[1,1,-1,1,-1],3) atlas> set x=find_smooth_ind_rep(tables,0,1) Variable x: (CharacterTable,[int],int) atlas> show(x) Error in expression show(x) at :44:0-7 Failed to match 'show' with argument type (CharacterTable,[int],int) Expression analysis failed Evaluation aborted. atlas> set x=find_smooth_ind_rep_long(tables,0,1) Variable x: ([SpringerTable],int,int,int,int) (overriding previous instance, which had type (CharacterTable,[int],int)) atlas> show(x) G=F4 target table#: 0 target character#: 1 target character dimension: 1 TARGET GENERIC DEGREE: 4 (fake degree of target: 12) target character: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1] -------------------------------------------------------- L=B2+2T1 Levi table index: 6 Levi character index: 3 LEVI GENERIC DEGREE: 1 (Levi degree: 2) character_L: [1,1,-1,1,-1] -------------------------------------------------------- full induced from L to G: # mult dim deg gdeg 1 1 1 12 4 4 1 2 4 1 7 1 2 16 13 8 1 4 8 4 9 1 9 2 2 10 3 9 6 4 12 1 9 10 10 13 1 6 6 4 15 1 12 4 4 17 2 4 7 4 20 2 8 3 3 23 2 8 9 9 24 2 16 5 4 TARGET GENERIC DEGREE: 4 answer: character #3 of L=B2+2T1 (table # 6) atlas> show(tables[0].ct) Character table G=F4 Classes: i order class_size |cent| sgn(w) chi_refl(w)) name 0 1 1 1152 1 4 [ 1^24 L|S 1^24 ] 1 2 1 1152 1 -4 [ 2^12 L|S 2^12 ] 2 2 18 64 1 0 [ 2^10, 1^4 L|S 2^10, 1^4 ] 3 3 32 36 1 1 [ 3^8 L|S 3^6, 1^6 ] 4 6 32 36 1 -1 [ 6^4 L|S 6^3, 2^3 ] 5 4 12 96 1 0 [ 4^6 L|S 4^6 ] 6 3 32 36 1 1 [ 3^6, 1^6 L|S 3^8 ] 7 6 32 36 1 -1 [ 6^3, 2^3 L|S 6^4 ] 8 3 16 72 1 -2 [ 3^8 L|S 3^8 ] 9 6 16 72 1 2 [ 6^4 L|S 6^4 ] 10 12 96 12 1 0 [ 12^2 L|S 12^2 ] 11 2 12 96 -1 2 [ 2^9, 1^6 L|S 2^6, 1^12 ] 12 2 12 96 -1 -2 [ 2^11, 1^2 L|S 2^12 ] 13 6 96 12 -1 -1 [ 6^2, 3^2, 2^3 L|S 6^2, 3^4 ] 14 6 96 12 -1 1 [ 6^3, 2^2, 1^2 L|S 6^4 ] 15 4 72 16 -1 0 [ 4^5, 2^2 L|S 4^5, 2, 1^2 ] 16 2 12 96 -1 2 [ 2^6, 1^12 L|S 2^9, 1^6 ] 17 2 12 96 -1 -2 [ 2^12 L|S 2^11, 1^2 ] 18 6 96 12 -1 -1 [ 6^2, 3^4 L|S 6^2, 3^2, 2^3 ] 19 6 96 12 -1 1 [ 6^4 L|S 6^3, 2^2, 1^2 ] 20 4 72 16 -1 0 [ 4^5, 2, 1^2 L|S 4^5, 2^2 ] 21 2 72 16 1 0 [ 2^11, 1^2 L|S 2^11, 1^2 ] 22 4 36 32 1 2 [ 4^5, 1^4 L|S 4^5, 1^4 ] 23 4 36 32 1 -2 [ 4^5, 2^2 L|S 4^5, 2^2 ] 24 8 144 8 1 0 [ 8^3 L|S 8^3 ] Representations: i dim deg gdeg name 0 1 0 0 phi(1,0) 1 1 12 4 phi(1,12)'' 2 1 12 4 phi(1,12)' 3 1 24 24 phi(1,24) 4 2 4 1 phi(2,4)'' 5 2 16 13 phi(2,16)' 6 2 4 1 phi(2,4)' 7 2 16 13 phi(2,16)'' 8 4 8 4 phi(4,8) 9 9 2 2 phi(9,2) 10 9 6 4 phi(9,6)'' 11 9 6 4 phi(9,6)' 12 9 10 10 phi(9,10) 13 6 6 4 phi(6,6)' 14 6 6 4 phi(6,6)'' 15 12 4 4 phi(12,4) 16 4 1 1 phi(4,1) 17 4 7 4 phi(4,7)'' 18 4 7 4 phi(4,7)' 19 4 13 13 phi(4,13) 20 8 3 3 phi(8,3)'' 21 8 9 9 phi(8,9)' 22 8 3 3 phi(8,3)' 23 8 9 9 phi(8,9)'' 24 16 5 4 phi(16,5) atlas> set x=find_smooth_ind_rep_long(tables,0,1) Variable x: ([SpringerTable],int,int,int,int) (overriding previous instance, which had type ([SpringerTable],int,int,int,int)) atlas> show(x) G=F4 target table#: 0 target character#: 1 target character dimension: 1 TARGET GENERIC DEGREE: 4 (fake degree of target: 12) target character: [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1] -------------------------------------------------------- L=B2+2T1 Levi table index: 6 Levi character index: 3 LEVI GENERIC DEGREE: 1 (Levi degree: 2) character_L: [1,1,-1,1,-1] -------------------------------------------------------- full induced from L to G: # mult dim deg gdeg 1 1 1 12 4 4 1 2 4 1 7 1 2 16 13 8 1 4 8 4 9 1 9 2 2 10 3 9 6 4 12 1 9 10 10 13 1 6 6 4 15 1 12 4 4 17 2 4 7 4 20 2 8 3 3 23 2 8 9 9 24 2 16 5 4 TARGET GENERIC DEGREE: 4 answer: character #3 of L=B2+2T1 (table # 6) atlas> set ct_L=tables[6].ct Variable ct_L: CharacterTable (overriding previous instance, which had type CharacterTable) atlas> set char_L=ct_L.characters[3] Variable char_L: [int] atlas> set ct=tables[0].ct Variable ct: CharacterTable (overriding previous instance, which had type CharacterTable) atlas> ct.view_char(induce_character (ct_L,ct,char_L)) # mult dim deg gdeg 1 1 1 12 4 4 1 2 4 1 7 1 2 16 13 8 1 4 8 4 9 1 9 2 2 10 3 9 6 4 12 1 9 10 10 13 1 6 6 4 15 1 12 4 4 17 2 4 7 4 20 2 8 3 3 23 2 8 9 9 24 2 16 5 4 atlas> ct.view_char(truncate_induce_ truncate_induce_character truncate_induce_sign truncate_induce_trivial atlas> ct.view_char(truncate_ truncate_by_degree_induce_character truncate_degree_induce_character truncate_induce_sign truncate_by_generic_degree_induce_character truncate_induce_character truncate_induce_trivial atlas> ct.view_char(truncate_by_generic_degree_induce_character (ct_L,ct,char_L)) atlas> truncate_by_generic_degree_induce_character (ct_L,ct,char_L) Value: [4] atlas>