[marc@Pleiona ~/atlas/atlas-scripts]$ atlas This is 'atlas' (version 1.0.6, axis language version 0.9.5), the Atlas of Lie Groups and Representations interpreter, compiled on Jul 8 2017 at 20:08:14. http://www.liegroups.org/ atlas> 345/23 Value: 15/1 atlas> 345\23 Value: 15 atlas> 347\23 Value: 15 atlas> 347%23 Value: 2 atlas> 347 \% 23 Value: (15,2) atlas> 0-4 Value: -4 atlas> 1/6 Value: 1/6 atlas> /6 Value: 1/6 atlas> 6^-1 Runtime error: Negative power of integer (in call at :9:0-4 of ^@(int,int), built-in) Evaluation aborted. atlas> whattype ^ ? Overloaded instances of '^' (int,int)->int (rat,int)->rat vec->mat mat->mat (int,[vec])->mat (bool,bool)->bool (mat,vec)->mat (vec,mat)->mat (mat,mat)->mat (mat,int)->mat Split->int (Split,int)->Split ((RootDatum,[int]),int)->(RootDatum,[int]) (vec,int)->vec (mat,string,int)->(mat,string,int) ((mat,string,int),int)->(mat,string,int) [ratvec]->(mat,string,int) ((RootDatum,ratvec,mat),int)->(RootDatum,ratvec,mat) (([rat],string),int)->([rat],string) (([rat],(int,[int])),int)->([rat],(int,[int])) atlas> (6/1)^-1 ^C\ Terminated [marc@Pleiona ~/atlas/atlas-scripts]$ \ > [marc@Pleiona ~/atlas/atlas-scripts]$ atlas This is 'atlas' (version 1.0.6, axis language version 0.9.5), the Atlas of Lie Groups and Representations interpreter, compiled on Jul 8 2017 at 20:08:14. http://www.liegroups.org/ atlas> [2,4,45,76,-879] Value: [2,4,45,76,-879] atlas> whattype $ ? ^ syntax error, unexpected '?', expecting '\n' atlas> whattype $ type: [int] atlas> vec: $ Value: [ 2, 4, 45, 76, -879 ] atlas> set v=$ Variable v: vec atlas> v+v Value: [ 4, 8, 90, 152, -1758 ] atlas> v*3 Value: [ 6, 12, 135, 228, -2637 ] atlas> v*v Value: 780462 atlas> v/4 Value: [ 2, 4, 45, 76, -879 ]/4 atlas> whattype $ type: ratvec atlas> $ + v/5 Value: [ 18, 36, 405, 684, -7911 ]/20 atlas> whattype rho ? Overloaded instances of 'rho' RootDatum->ratvec (RootDatum,ratvec)->ratvec (InnerClass,mat,ratvec,vec,mat,ratvec,vec,mat,vec,vec)->ratvec int->[rat] Block->ratvec atlas> 345/23 Value: 15/1 atlas> 346/23 Value: 346/23 atlas> floor($) Value: 15 atlas> (346/23)\1 Value: 15 atlas> (-346/23)\1 Value: -16 atlas> v/8 + v/5 Value: [ 26, 52, 585, 988, -11427 ]/40 atlas> $\1 Value: [ 0, 1, 14, 24, -286 ] atlas> v/8 + v/5 Value: [ 26, 52, 585, 988, -11427 ]/40 atlas> floor($) Value: [ 0, 1, 14, 24, -286 ] atlas> v/8 + v/5 Value: [ 26, 52, 585, 988, -11427 ]/40 atlas> [rat]: $ Value: [13/20,13/10,117/8,247/10,-11427/40] atlas> 2^234/3^231 Value: 27606985387162255149739023449108101809804435888681546220650096895197184/164062694609488086547539746812648575659318856476507740436897453222447961474036515706307096943652603236842951947 atlas> ratvec:[$] Integer value to big for conversion Evaluation aborted. atlas> set A = [1,2,3|4,5,6|3,3,2] Variable A: mat atlas> det(A) Value: 3 atlas> inverse(A) Runtime error: Matrix not invertible over the integers (in call at /home/marc/atlas/atlas-scripts/basic.at:320:23-71 of error@string, built-in) [inv= | -8, 5, -3 | | 10, -7, 6 | | -3, 3, -3 | , d=3] [M= | 1, 2, 3 | | 4, 5, 6 | | 3, 3, 2 | ] (in call at :28:0-10 of inverse@mat, defined at /home/marc/atlas/atlas-scripts/basic.at:318:4--320:74) Evaluation aborted. atlas> invert(A) Value: ( | -8, 5, -3 | | 10, -7, 6 | | -3, 3, -3 | ,3) atlas> let (n,d)=$ in n/d Value: ( | -8, 5, -3 | | 10, -7, 6 | | -3, 3, -3 | ,"/",3) atlas> whattype $ type: (mat,string,int) atlas> whattype - ? Overloaded instances of '-' (int,int)->int int->int (rat,int)->rat (rat,rat)->rat rat->rat vec->vec (vec,vec)->vec (ratvec,ratvec)->ratvec ratvec->ratvec (mat,int)->mat (int,mat)->mat (mat,mat)->mat (Split,Split)->Split Split->Split (ParamPol,Param)->ParamPol (ParamPol,ParamPol)->ParamPol mat->mat ParamPol->ParamPol (ParamPol,(Split,Param))->ParamPol [[vec]]->[[vec]] ([[vec]],[[vec]])->[[vec]] ([[vec]],vec)->[[vec]] ((mat,string,int),(mat,string,int))->(mat,string,int) (mat,string,int)->(mat,int,void) ([ratvec],(mat,string,int))->(mat,string,int) ((mat,string,int),[ratvec])->(mat,string,int) ([ratvec],mat)->(mat,string,int) (mat,[ratvec])->(mat,string,int) ((ParamPol,ParamPol,ParamPol),(ParamPol,ParamPol,ParamPol))->(ParamPol,ParamPol,ParamPol) (Param,string)->(ParamPol,string) (ParamPol,string)->(ParamPol,string) ((Param,string),(Param,string))->(ParamPol,string) ((Param,string),(ParamPol,string))->(ParamPol,string) ((ParamPol,string),(ParamPol,string))->(ParamPol,string) ([rat],string)->([rat],string) (([rat],string),([rat],string))->([rat],string) (([rat],(int,[int])),([rat],(int,[int])))->([rat],(int,[int])) ([rat],(int,[int]))->([rat],(int,[int])) atlas> invert(A) Value: ( | -8, 5, -3 | | 10, -7, 6 | | -3, 3, -3 | ,3) atlas> let (n,d)=$ in n/d Value: ( | -8, 5, -3 | | 10, -7, 6 | | -3, 3, -3 | ,"/",3) atlas> - $ Value: ( | 8, -5, 3 | | -10, 7, -6 | | 3, -3, 3 | ,3,()) atlas> $ +4 Error in expression +($,4) at :36:0-4 Failed to match '+' with argument type ((mat,int,void),int) Expression analysis failed atlas> A Value: | 1, 2, 3 | | 4, 5, 6 | | 3, 3, 2 | atlas> A-2 Value: | -1, 2, 3 | | 4, 3, 6 | | 3, 3, 0 | atlas> (A-2)*(a*3) Error during analysis of expression at :39:1-10 Undefined identifier 'a' Expression analysis failed atlas> (A-2)*(A*3) Error in expression *(A,3) at :40:7-10 Failed to match '*' with argument type (mat,int) Expression analysis failed atlas> (A-2)*(A+3) Value: | 13, 23, 24 | | 46, 50, 60 | | 24, 30, 27 | atlas> id_mat(2) Value: | 1, 0 | | 0, 1 | atlas> id_mat(3) Value: | 1, 0, 0 | | 0, 1, 0 | | 0, 0, 1 | atlas> $*4 Error in expression *($,4) at :44:0-3 Failed to match '*' with argument type (mat,int) Expression analysis failed atlas> 4*$ Value: | 4, 0, 0 | | 0, 4, 0 | | 0, 0, 4 | atlas> invert(4) Error during analysis of expression at :46:0-9 Type error: Subexpression 4 at :46:7-8 has wrong type: found int while mat was needed. Expression analysis failed atlas> invert($) Value: ( | 1, 0, 0 | | 0, 1, 0 | | 0, 0, 1 | ,4) atlas> A Value: | 1, 2, 3 | | 4, 5, 6 | | 3, 3, 2 | atlas> char_poly(A) Value: [ -3, -18, -8, 1 ] atlas> v Value: [ 2, 4, 45, 76, -879 ] atlas> v[2] := 3 Value: 3 atlas> v Value: [ 2, 4, 3, 76, -879 ] atlas> forget v Identifier 'v' forgotten atlas> v Error during analysis of expression at :54:0-1 Undefined identifier 'v' Expression analysis failed atlas> set M = 2* id_mat(5) Variable M: mat atlas> M Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 0, 0 | | 0, 0, 2, 0, 0 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> M[2,4] Value: 0 atlas> M[2,4] := 1 Value: 1 atlas> M Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 0, 0 | | 0, 0, 2, 0, 1 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> M[1,3] = 1 Value: false atlas> M[1,3] = 1; M Error in expression =(M[1,3],1) at :61:0-10 Use op equality operator '=' in void context; did you mean ':=' instead? If you really want the result of '=' to be voided, use a cast to bool. Expression analysis failed atlas> M[1,3] := 3; M Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 3, 0 | | 0, 0, 2, 0, 1 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> set v = vec: [4,2,-5,4] Variable v: vec atlas> v Value: [ 4, 2, -5, 4 ] atlas> mat: [v] Value: | 4 | | 2 | | -5 | | 4 | atlas> mat: [v,2*v] Value: | 4, 8 | | 2, 4 | | -5, -10 | | 4, 8 | atlas> [v,2*v] Value: [[ 4, 2, -5, 4 ],[ 8, 4, -10, 8 ]] atlas> mat: $ Value: | 4, 8 | | 2, 4 | | -5, -10 | | 4, 8 | atlas> mat: v Error during analysis of expression at :69:0-6 Type error: Subexpression v at :69:5-6 has wrong type: found vec while mat was needed. Expression analysis failed atlas> mat: [v] Value: | 4 | | 2 | | -5 | | 4 | atlas> mat: ^[v] Value: | 4, 2, -5, 4 | atlas> ^[v] Value: | 4, 2, -5, 4 | atlas> ^[v,3*v] Value: | 4, 2, -5, 4 | | 12, 6, -15, 12 | atlas> [ 2,65,3 | 6,32,5 ] Value: | 2, 65, 3 | | 6, 32, 5 | atlas> ["helo", "there" ] Value: ["helo","there"] atlas> ["hello", "there" ] Value: ["hello","there"] atlas> ["hello", "the" ] Value: ["hello","the"] atlas> mat: $ Error during analysis of expression at :78:0-6 Type error: Subexpression $ at :78:5-6 has wrong type: found [string] while mat was needed. Expression analysis failed atlas> ["hello",4] Error in expression ["hello",4] at :79:0-11 No common type found between components of list expression: { string, int } Expression analysis failed atlas> [2,3/4,0] Value: [2/1,3/4,0/1] atlas> set list= $ Variable list: [rat] atlas> list[1]:=/5 Value: 1/5 atlas> list Value: [2/1,1/5,0/1] atlas> list # 55 Error in expression #(list,55) at :84:0-9 Failed to match '#' with argument type ([rat],int) Expression analysis failed atlas> list # 55/1 Error in expression #(list,55) at :85:0-9 Failed to match '#' with argument type ([rat],int) Expression analysis failed atlas> list # (55/1) Value: [2/1,1/5,0/1,55/1] atlas> set L = [1] Variable L: [int] atlas> for :5 do L:=L # sum(l) od; L Error during analysis of expression at :88:0-29 Undefined identifier 'l' Expression analysis failed atlas> for :5 do L:=L # sum(L) od; L Value: [1,1,2,4,8,16] atlas> $ ## $ Value: [1,1,2,4,8,16,1,1,2,4,8,16] atlas> #5 Value: [0,1,2,3,4] atlas> for i:5 do #i od Value: [[],[0],[0,1],[0,1,2],[0,1,2,3]] atlas> ## $ Value: [0,0,1,0,1,2,0,1,2,3] atlas> whattype gcd ? Overloaded instances of 'gcd' (int,int)->int [int]->int mat->int atlas> for i:30 do if gcd(i,30)=1 then i fi od Value: [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),()] atlas> for i:30 do if gcd(i,30)=1 then [i] else [] fi od Value: [[],[1],[],[],[],[],[],[7],[],[],[],[11],[],[13],[],[],[],[17],[],[19],[],[],[],[23],[],[],[],[],[],[29]] atlas> ## for i:30 do if gcd(i,30)=1 then [i] else [] fi od Value: [1,7,11,13,17,19,23,29] atlas> list:=[] Value: [] atlas> whattype list ? Overloaded instances of 'list' ((int->bool),int)->[int] atlas> whattype list type: [rat] atlas> set list = [] Variable list: [*] (overriding previous instance, which had type [rat]) atlas> list := list # [1] Value: [[1]] atlas> whattype list ? Overloaded instances of 'list' ((int->bool),int)->[int] atlas> whattype list type: [[int]] atlas> list := list # 3 Error in expression #(list,3) at :105:8-16 Failed to match '#' with argument type ([[int]],int) Expression analysis failed atlas> set list = [] Variable list: [*] (overriding previous instance, which had type [[int]]) atlas> list # [1] Value: [[1]] atlas> list # 1 Value: [1] atlas> whattype $ type: [int] atlas> whattype list type: [*] atlas> list := list # 3 Value: [3] atlas> list :=[] Value: [] atlas> whattype list type: [int] atlas> Display all 1432 possibilities? (y or n) atlas> gcd([3,2,5]) Value: 1 atlas> ## for i:30 do if gcd([i,30])=1 then [i] else [] fi od Value: [1,7,11,13,17,19,23,29] atlas> $ [1:5] Value: [7,11,13,17] atlas> ## for i:30 do if gcd([i,30])=1 then [i] else [] fi od Value: [1,7,11,13,17,19,23,29] atlas> v := $ Value: [ 1, 7, 11, 13, 17, 19, 23, 29 ] atlas> v [1:5] Value: [ 7, 11, 13, 17 ] atlas> "atlas workshop"[1:5] Value: "tlas" atlas> set str="atlas workshop" Variable str: string atlas> "atlas workshop"[1:#str] Value: "tlas workshop" atlas> "atlas workshop"[1:#str-1] Value: "tlas worksho" atlas> "atlas workshop"[1:1] Value: "" atlas> "atlas workshop"[1:-1] Value: "" atlas> "atlas workshop"[1:-2] Value: "" atlas> "atlas workshop"[1:1~] Value: "tlas worksho" atlas> "atlas workshop"[1:0~] Value: "tlas workshop" atlas> "atlas workshop"[1: ] Value: "tlas workshop" atlas> "atlas workshop"[~3: ] Error during analysis of expression at :130:0-22 Undefined identifier '~' Expression analysis failed atlas> "atlas workshop"[3~: ] Value: "hop" atlas> "atlas workshop"[3: ] Value: "as workshop" atlas> "atlas workshop"~[3: ] Value: "skrow salta" atlas> "atlas workshop"~[3~: ] Value: "lta" atlas> "atlas workshop"~[ : ] Value: "pohskrow salta" atlas> v Value: [ 1, 7, 11, 13, 17, 19, 23, 29 ] atlas> v~ ~ > [:] ^ syntax error, unexpected ':', expecting ']' atlas> v~[:] Value: [ 29, 23, 19, 17, 13, 11, 7, 1 ] atlas> v[:~1] Error during analysis of expression at :140:0-6 Undefined identifier '~' Expression analysis failed atlas> v[:1~] Value: [ 1, 7, 11, 13, 17, 19, 23 ] atlas> v[1:] Value: [ 7, 11, 13, 17, 19, 23, 29 ] atlas> id_mat(5) Value: | 1, 0, 0, 0, 0 | | 0, 1, 0, 0, 0 | | 0, 0, 1, 0, 0 | | 0, 0, 0, 1, 0 | | 0, 0, 0, 0, 1 | atlas> id_mat(5)~[:] Value: | 0, 0, 0, 0, 1 | | 0, 0, 0, 1, 0 | | 0, 0, 1, 0, 0 | | 0, 1, 0, 0, 0 | | 1, 0, 0, 0, 0 | atlas> id_mat(5)(:1~] ^ syntax error, unexpected ':', expecting ')' atlas> id_mat(5)[:1~] Value: | 1, 0, 0, 0 | | 0, 1, 0, 0 | | 0, 0, 1, 0 | | 0, 0, 0, 1 | | 0, 0, 0, 0 | atlas> M Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 3, 0 | | 0, 0, 2, 0, 1 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> M[2,3] Value: 0 atlas> M[2] Value: [ 0, 0, 2, 0, 0 ] atlas> M[3] Value: [ 0, 3, 0, 2, 0 ] atlas> set arr = for i:10 do #i od Variable arr: [[int]] atlas> M:=[[1,2]] Value: | 1 | | 2 | atlas> M:=[[1,2],5,6]] ^ syntax error, unexpected ']', expecting '\n' atlas> M:=[[1,2],[5,6]] Value: | 1, 5 | | 2, 6 | atlas> M:=[[1,2,4],[5,6]] Runtime error: Vector sizes differ in conversion to matrix Evaluation aborted. atlas> M:=[[1,2,4],[5,6,8]] Value: | 1, 5 | | 2, 6 | | 4, 8 | atlas> M:=2*id_mat(5) Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 0, 0 | | 0, 0, 2, 0, 0 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> M[2,4] := 1 Value: 1 atlas> M[1,3] := 3; M Value: | 2, 0, 0, 0, 0 | | 0, 2, 0, 3, 0 | | 0, 0, 2, 0, 1 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | atlas> invert(M) Value: ( | 2, 0, 0, 0, 0 | | 0, 2, 0, -3, 0 | | 0, 0, 2, 0, -1 | | 0, 0, 0, 2, 0 | | 0, 0, 0, 0, 2 | ,4) atlas> inv_fact(M) Value: [ 1, 1, 2, 4, 4 ] atlas> diagonal([2,5,4,6]) Value: | 2, 0, 0, 0 | | 0, 5, 0, 0 | | 0, 0, 4, 0 | | 0, 0, 0, 6 | atlas> set alpha=vec: [1,-1,0], beta=vec:[0,1,-1]) ^ syntax error, unexpected ')', expecting '\n' or ',' atlas> set alpha=vec: [1,-1,0], beta=vec:[0,1,-1] Variable alpha: vec Variable beta: vec atlas> set simple_roots=mat:[alpha,beta] Variable simple_roots: mat atlas> simple_roots Value: | 1, 0 | | -1, 1 | | 0, -1 | atlas> set simple_coroots=simple_roots Variable simple_coroots: mat atlas> root_data(simple_roots , simple_coroots ) Error during analysis of expression at :168:0-41 Undefined identifier 'root_data' Expression analysis failed atlas> root_datum(simple_roots , simple_coroots ) Value: simply connected adjoint root datum of Lie type 'A2.T1' atlas> set rd=$ Variable rd: RootDatum atlas> roots(rd) Value: | -1, 0, -1, 1, 0, 1 | | 0, -1, 1, -1, 1, 0 | | 1, 1, 0, 0, -1, -1 | atlas> root([0],rs) Error during analysis of expression at :172:0-12 Undefined identifier 'rs' Expression analysis failed atlas> root([0],rd) Error in expression root([0],rd) at :173:0-12 Failed to match 'root' with argument type ([int],RootDatum) Expression analysis failed atlas> root(rd,[0]) Runtime error: Illegal root index 3 (in call at /home/marc/atlas/atlas-scripts/basic.at:635:44-77 of root@(RootDatum,int), built-in) [rd=simply connected adjoint root datum of Lie type 'A2.T1', alpha_v=[ 0 ]] (in call at :174:0-12 of root@(RootDatum,vec), defined at /home/marc/atlas/atlas-scripts/basic.at:635:4-77) Evaluation aborted. atlas> root(rd,0) Value: [ 1, -1, 0 ] atlas> root(rd,1) Value: [ 0, 1, -1 ] atlas> root(rd,2) Value: [ 1, 0, -1 ] atlas> root(rd,3) Runtime error: Illegal root index 3 (in call at :178:0-10 of root@(RootDatum,int), built-in) Evaluation aborted. atlas> root(rd,-1) Value: [ -1, 1, 0 ] atlas> root(rd,-3) Value: [ -1, 0, 1 ] atlas> root(rd,-4) Runtime error: Illegal root index -4 (in call at :181:0-11 of root@(RootDatum,int), built-in) Evaluation aborted. atlas> posroots(rd) Value: | 1, 0, 1 | | -1, 1, 0 | | 0, -1, -1 | atlas> roots(rd) Value: | -1, 0, -1, 1, 0, 1 | | 0, -1, 1, -1, 1, 0 | | 1, 1, 0, 0, -1, -1 | atlas> rd:=root_data([[2]],[[1]]) Error during analysis of expression at :184:0-26 Undefined identifier 'root_data' Expression analysis failed atlas> rd:=root_datum([[2]],[[1]]) Value: simply connected root datum of Lie type 'A1' atlas> set ic := inner_class(rd,[[1]]) Error during analysis of expression at :186:0-31 Undefined identifier 'ic' in assignment ic:=inner_class(rd,[[1]]) Expression analysis failed atlas> set ic = inner_class(rd,[[1]]) Variable ic: InnerClass atlas> ic Value: Complex reductive group of type A1, with involution defining inner class of type 'c', with 2 real forms and 2 dual real forms atlas> form_names(ic) Value: ["su(2)","sl(2,R)"] atlas> set sl2r = real_form(ic,1) Variable sl2r: RealForm atlas> sl2r Value: connected split real group with Lie algebra 'sl(2,R)' atlas> print_KGB(sl2r) kgbsize: 3 Base grading: [1]. 0: 0 [n] 1 2 (0)#0 e 1: 0 [n] 0 2 (1)#0 e 2: 1 [r] 2 * (0)#1 1^e atlas> print_X(ic) \exp(i\pi\check\rho) = \exp(2i\pi([1]/4)) 0: 0 [n] 1 4 [0]/1 0 e 1: 0 [n] 0 4 [1]/2 0 e 2: 0 [c] 2 * [1]/4 0 e 3: 0 [c] 3 * [3]/4 0 e 4: 1 [r] 4 * [0]/1 1 1^e atlas> quit