with(coxeter): read maxset; read chrome; # Find colorings for simply-laced graphs # Select good inner products # "good inner product" ie an inner product less than or equal to 0. # ie an edge gip:=proc(i,j,pr) local c; c:=iprod(pr[i],pr[j]); if c<=0 then {i,j} fi; end; # set R to be the root system E6 R:=E6; # suppress extraneous printing to the terminal interface(quiet=true); # pr is the set of positive roots of R # X is a list containing the numbers 1 up to |pr|. pr:=pos_roots(R): X:={$1..nops(pr)}: # constructs the graph as a list of edges G:={seq(seq(gip(j,i,pr),j=1..i-1),i=1..nops(pr))}: nops(G); # uses maxset to get a list of all maximal independent # sets in order of decreasing size mis:=maxset(G,X): nops(mis); # uses chrome to ask for an 8-coloring st:=time(): chrome(mis,X,8,'c'), c, .733*(time()-st); # uses chrome to ask for a 9-coloring st:=time(): chrome(mis,X,9,'c'), c, .733*(time()-st); # resets interface and quits #interface(quiet=false); #quit;