SpecDistance

3204 days ago by chlin

URL='http://github.com/jasongrout/minimum_rank/raw/minimum_rank_1_1_3/' files=['Zq_c.pyx','Zq.py','zero_forcing_64.pyx','zero_forcing_wavefront.pyx','minrank.py', 'inertia.py'] for f in files: load(URL+f) load('https://raw.githubusercontent.com/jephianlin/minimum_rank_aux/master/load_all.py'); 
       
Compiling
/home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_PtSdHE.pyx..\
.
Compiling
/home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_dxnLDA.pyx..\
.
Compiling
/home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_GJbdY2.pyx..\
.
Loading oc_diag_analysis.sage...
---gZ_leq, find_gZ, find_EZ, diagonal_analysis, etc.
Loading xi_dict.py...
---SAPreduced_matrix, has_SAP, find_ZFloor, Zsap, etc.
Loading mu_dict.py...
---get_mu_from_dict, has_minor, find_mu, etc.
Loading general_Lib.py...
---sshow, empty_array, all_one_matrix, elementary_matrix, eigens_multi,
sort_dictionary, etc.
Compiling /home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_PtSdHE.pyx...
Compiling /home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_dxnLDA.pyx...
Compiling /home/sageuser/9/.sage/temp/sage.math.iastate.edu/24299/tmp_GJbdY2.pyx...
Loading oc_diag_analysis.sage...
---gZ_leq, find_gZ, find_EZ, diagonal_analysis, etc.
Loading xi_dict.py...
---SAPreduced_matrix, has_SAP, find_ZFloor, Zsap, etc.
Loading mu_dict.py...
---get_mu_from_dict, has_minor, find_mu, etc.
Loading general_Lib.py...
---sshow, empty_array, all_one_matrix, elementary_matrix, eigens_multi, sort_dictionary, etc.
def L(k,l): g=graphs.CompleteGraph(k); for i in range(l): g.add_vertex(k+i); g.add_edge(k+i,k+i-1); return g; def lbd_Z(g): n=g.order(); return integer_ceil((n-1)/(find_Z(g.complement())+1)+1); def lbd_D(g): n=g.order(); return integer_ceil((n-1)/(n-g.complement().diameter()+1)+1); def lbd_girth(g): n=g.order(); return integer_ceil((n-1)/(n-g.complement().girth()+2+1)+1); def distinct_eigens(g): return len(set(g.distance_matrix().eigenvalues())); def all_one_matrix(m,n): mn=m*n; return matrix(m,[1]*mn); def distance_decom(g): n=g.order(); diam=g.diameter(); D=g.distance_matrix(); DD={}; for i in range(0,diam+1): DD[i]=[]; for j in range(n): DD[i].append([0]*n); for i in range(n): for j in range(n): dist=D[i][j]; DD[dist][i][j]=1; decom=[]; for i in range(0,diam+1): decom.append(matrix(DD[i])); return decom; def commutative_family(mtxs): ## import as list; n=len(mtxs); commu=True; for pair in Combinations(range(n),2): if mtxs[pair[0]]*mtxs[pair[1]]!=mtxs[pair[1]]*mtxs[pair[0]]: commu=False; break; return commu; def is_CompleteBipartite(g): h=g.complement(); com_sub=h.connected_components_subgraphs(); if len(com_sub)!=2: return False; for com in com_sub: if min(com.degree())<com.order()-1: return False; return True; def similar(A,Q): ## input A, Q and output Q^-1AQ return Q.inverse()*A*Q; def ttt(n): l=[2]*n; l[0]=3; l[n-1]=3; return l; def caterpillar(n,l): g=graphs.PathGraph(n); for i in range(n): for j in range(l[i]): g.add_vertex((i,j)); g.add_edge(i,(i,j)); return g; def find_valley(l): ##this code already assume l is unimodal, and it has just one valley; n=len(l); valley=min(l); for i in range(n): if l[i]==valley: break; return i; def scale2(l): n=len(l); for k in range(n): l[k]=l[k]*2^(k); return l; def bounds(n): ##upd=N(1-1/sqrt(5),digits=2); return [N(float(n//2)/n),N(1-(1/sqrt(5)))]; def novertwo(n): return [N(float(n//2)/n),N(float((n+1)//2)/n)]; def peak_ratio(g,d=2): n=g.order(); D=g.distance_matrix(); p=D.characteristic_polynomial(); l=scale2(p.coeffs()); vly=find_valley(l); ratio=N(float(vly)/n,digits=d); return ratio; def inertia(D): egv=D.eigenvalues(); n=len(egv); p=0; m=0; z=0; for i in range(n): if egv[i]<0: m+=1; if egv[i]>0: p+=1; return [p,m,z]; def eigens_multi(A): l=A.eigenvalues(); eigens={}; for i in l: eigens[i]=0; for i in l: eigens[i]+=1; return eigens; def sort_dictionary(d): l=d.keys(); l.sort(); #print l; for key in l: print "%s:%s"%(key,d[key]); #print " "; def KneserPartition(n,k): ## look at the Knesergraph K(n,k) ## output the list of [C0, C1, ..., Ck]; ## let alpha = range(1,k) ## Ci is the "list" of vertex beta such that |alpha\cap beta|=k-i; ## C0 is the just [alpha]; g=graphs.KneserGraph(n,k); C=[0]*(k+1); for i in range(k+1): C[i]=[]; alpha=EnumeratedSet(range(1,k+1)); for v in g.vertices(): inter=len(alpha.intersection(v)); i=k-inter; #print i; C[i].append(v); return C; def quotient_distance_matrix(g,C): Q=[]; l=len(C); for i in range(l): Q.append([0]*(l)); for i in range(l): for j in range(l): row_sum=0; a=C[i][0]; #a is an element in C[i] for c in C[j]: #for every c in C[j] #print i,j,a,c,row_sum; row_sum+=g.distance(a,c); Q[i][j]=row_sum; return matrix(Q); def quotient_distance_decom(g,C): diam=g.diameter(); Q=[0]*(diam+1); for i in range(diam+1): Q[i]=[]; l=len(C); for i in range(diam+1): for j in range(l): Q[i].append([0]*(l)); for i in range(l): for j in range(l): row_sum=[0]*(diam+1); a=C[i][0]; #a is an element in C[i] for c in C[j]: #for every c in C[j] #print i,j,a,c,row_sum; row_sum[g.distance(a,c)]+=1; for k in range(diam+1): Q[k][i][j]=row_sum[k]; for k in range(diam+1): Q[k]=matrix(Q[k]); return Q; def novertwo(n): return [N(float(n//2)/n),N(float((n+1)//2)/n)]; def double_star(a,b,c): #return a double star with a leaves on one side and b leaves on the other; #the length of the middle path is c-1; g=graphs.PathGraph(c); for i in range(a): g.add_vertex(-i-1); g.add_edge(0,-i-1); for i in range(b): g.add_vertex(c+i); g.add_edge(c-1,c+i); return g; def broom_partition(a,c): C=[]; C1=[]; for i in range(a): C1.append(-i-1); C.append(C1); for i in range(c): C.append([i]); return C; 
       
g=Graph("CF") show(g); p=g.distance_matrix().characteristic_polynomial(); find_valley(scale2(p.coeffs())) print scale2(p.coeffs()) 
       
[-12, -56, -60, 0, 16]
[-12, -56, -60, 0, 16]
print "This is for paths on n vertices." for n in range(1,31): g=graphs.PathGraph(n); print n, peak_ratio(g,d=6)*n,bounds(n)[1]*n; 
       
This is for paths on n vertices.
1 0.000000 0.552786404500042
2 0.000000 1.10557280900008
3 1.00000 1.65835921350013
4 2.00000 2.21114561800017
5 2.00000 2.76393202250021
6 3.00000 3.31671842700025
7 3.00000 3.86950483150029
8 4.00000 4.42229123600034
9 5.00000 4.97507764050038
10 5.00000 5.52786404500042
11 6.00000 6.08065044950046
12 6.00000 6.63343685400050
13 7.00000 7.18622325850055
14 7.00000 7.73900966300059
15 8.00000 8.29179606750063
16 8.00000 8.84458247200067
17 9.00000 9.39736887650071
18 10.0000 9.95015528100076
19 10.0000 10.5029416855008
20 11.0000 11.0557280900008
21 11.0000 11.6085144945009
22 12.0000 12.1613008990009
23 12.0000 12.7140873035010
24 13.0000 13.2668737080010
25 13.0000 13.8196601125011
26 14.0000 14.3724465170011
27 15.0000 14.9252329215011
28 15.0000 15.4780193260012
29 16.0000 16.0308057305012
30 16.0000 16.5835921350013
This is for paths on n vertices.
1 0.000000 0.552786404500042
2 0.000000 1.10557280900008
3 1.00000 1.65835921350013
4 2.00000 2.21114561800017
5 2.00000 2.76393202250021
6 3.00000 3.31671842700025
7 3.00000 3.86950483150029
8 4.00000 4.42229123600034
9 5.00000 4.97507764050038
10 5.00000 5.52786404500042
11 6.00000 6.08065044950046
12 6.00000 6.63343685400050
13 7.00000 7.18622325850055
14 7.00000 7.73900966300059
15 8.00000 8.29179606750063
16 8.00000 8.84458247200067
17 9.00000 9.39736887650071
18 10.0000 9.95015528100076
19 10.0000 10.5029416855008
20 11.0000 11.0557280900008
21 11.0000 11.6085144945009
22 12.0000 12.1613008990009
23 12.0000 12.7140873035010
24 13.0000 13.2668737080010
25 13.0000 13.8196601125011
26 14.0000 14.3724465170011
27 15.0000 14.9252329215011
28 15.0000 15.4780193260012
29 16.0000 16.0308057305012
30 16.0000 16.5835921350013
print "This is for brooms on n vertices with two leaves on one end." for n in range(3,31): g=double_star(2,0,n-2); print n, peak_ratio(g,d=6), bounds(n)[1]; #sshow(g); 
       
This is for brooms on n vertices with two leaves on one end.
3 0.333333 0.552786404500042
4 0.500000 0.552786404500042
5 0.400000 0.552786404500042
6 0.500000 0.552786404500042
7 0.428571 0.552786404500042
8 0.500000 0.552786404500042
9 0.555556 0.552786404500042
10 0.500000 0.552786404500042
11 0.545455 0.552786404500042
12 0.500000 0.552786404500042
13 0.538462 0.552786404500042
14 0.500000 0.552786404500042
15 0.533333 0.552786404500042
16 0.500000 0.552786404500042
17 0.529412 0.552786404500042
18 0.555556 0.552786404500042
19 0.526316 0.552786404500042
20 0.550000 0.552786404500042
21 0.523810 0.552786404500042
22 0.545455 0.552786404500042
23 0.521739 0.552786404500042
24 0.541667 0.552786404500042
25 0.520000 0.552786404500042
26 0.538462 0.552786404500042
27 0.555556 0.552786404500042
28 0.535714 0.552786404500042
29 0.551724 0.552786404500042
30 0.533333 0.552786404500042
This is for brooms on n vertices with two leaves on one end.
3 0.333333 0.552786404500042
4 0.500000 0.552786404500042
5 0.400000 0.552786404500042
6 0.500000 0.552786404500042
7 0.428571 0.552786404500042
8 0.500000 0.552786404500042
9 0.555556 0.552786404500042
10 0.500000 0.552786404500042
11 0.545455 0.552786404500042
12 0.500000 0.552786404500042
13 0.538462 0.552786404500042
14 0.500000 0.552786404500042
15 0.533333 0.552786404500042
16 0.500000 0.552786404500042
17 0.529412 0.552786404500042
18 0.555556 0.552786404500042
19 0.526316 0.552786404500042
20 0.550000 0.552786404500042
21 0.523810 0.552786404500042
22 0.545455 0.552786404500042
23 0.521739 0.552786404500042
24 0.541667 0.552786404500042
25 0.520000 0.552786404500042
26 0.538462 0.552786404500042
27 0.555556 0.552786404500042
28 0.535714 0.552786404500042
29 0.551724 0.552786404500042
30 0.533333 0.552786404500042
for n in range(450,451): g=graphs.PathGraph(n); print n, peak_ratio(g,d=6),bounds(n) 
       
450 0.551111 [0.500000000000000, 0.552786404500042]
450 0.551111 [0.500000000000000, 0.552786404500042]
a,c=5,2; h=double_star(a,0,c); show(h) C=broom_partition(a,c); #print C; D=h.distance_matrix(); Dq=quotient_distance_matrix(h,C); show(D); show(Dq); sort_dictionary(eigens_multi(D)) print "---" sort_dictionary(eigens_multi(Dq)) f1=D.characteristic_polynomial(); f2=Dq.characteristic_polynomial(); show(f1); show(f2); x=var("x"); show(expand(f2*(x+2)^(a-1))); 
       
### Need to check if peak_ratio>=n/2 ceil => diam(t) ### two graphs found on n=22: U???????????????????K?AO?O_?FF?G?[G??{?? U???????????????????c?AO?C_B@??w?M@?{?_? for n in range(1,31): upd=novertwo(n)[1]; for g in graphs.nauty_geng("%s %s:%s -c"%(n,n-1,n-1)): if g.diameter()<n/2: if peak_ratio(g)>upd: print n, g.canonical_label().graph6_string(); print n,"done"; 
       
c=-1; for a in range(1,8): g=double_star(a,0,c); C=broom_partition(a,c); #print C; D=g.distance_matrix(); Dq=quotient_distance_matrix(g,C); #show(Dq) print a; show(Dq.characteristic_polynomial()) #print eigens_multi(Dq); 
       
1
2
3
4
5
6
7
1
2
3
4
5
6
7
c=1; for a in range(1,8): g=double_star(a,0,c); C=broom_partition(a,c); #print C; D=g.distance_matrix(); Dq=quotient_distance_matrix(g,C); #show(Dq) print a; show(D.characteristic_polynomial()) #print eigens_multi(Dq); 
       
1
2
3
4
5
6
7
1
2
3
4
5
6
7
g=double_star(4,0,1); D=g.distance_matrix(); show(D.characteristic_polynomial()); 
       

                                
                            

                                
n,counter=199,1; while True: g=graphs.RandomTree(n); p=g.distance_matrix().characteristic_polynomial(); vly=find_valley(scale2(p.coeffs())); if vly<n//2 or vly>integer_ceil(n*(1-1/sqrt(5))): print n,g.graph6_string(); break; if counter%100==0: print counter; counter+=1; 
       
WARNING: Output truncated!  
full_output.txt



100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
4200
4300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900

...

69700
69800
69900
70000
70100
70200
70300
70400
70500
70600
70700
70800
70900
71000
71100
71200
71300
71400
71500
71600
71700
71800
71900
72000
72100
72200
72300
72400
72500
72600
72700
72800
72900
73000
73100
73200
73300
73400
73500
73600
73700
73800
73900
74000
74100
74200
74300
74400
74500
74600
74700
74800
74900
75000
75100
75200
75300
75400
75500
you are running out of primes. 1000 coprime primes found199
~?BF????????????????????????G????????????????????????????_?????????A????\
??????????????????????????????G??????????????C????A??????_??????????????\
????A????????????G?C????????C??????????????????????????????????????_????\
?????????????????????_???_????@????????????????????C????????????????????\
???????@????????????????????????????????????????????????????????????????\
??????????????a??????????????_?????????????????????????????@????????????\
?????????????????????@???????????A??????????????????????????????A???????\
??????@?A????????????????_??????????????????????????????????????O???????\
????????????????????_???????????G??_?????????????????????_??????????????\
????????C_?????????A??????????????????????????A????O@???????????????????\
??????????????????S????????????????????????????????????????????????O????\
????@??????????????????_??????????????????????????O?????????????????????\
??????????????????????????C?????????????????????????_???????????????????\
?????O????????????G???????????????????????A?@???????????????????????????\
??????O?????????????_????????_???@????????????????????O??????????????C??\
????O?????@???????@?????????????????@?????????????????????@??????@??????\
???G??????????????????@?????????????????????@???????????????????????????\
?????G???????G?????G?????????????????????????????A??G?????????_???@?????\
???????????????????@??????G????????O?????????????????????@??????????????\
??????????????????????O?????P????????_????????????C?????????????_???????\
????????????????O??????O??????????????????@?????????????@???????????????\
???????????????C???????????????????????C?????????G?????????A????????????\
?????_?????????O????????@????????G????????????A????C??????????C?????????\
???????CA??????????A??????????????????????????????????C???????????A?????\
?????@?????????A???????@????O???????????????????A@?????C????????????????\
????????????????????C???A??????C???????????????????????????_????????????\
?A?????O???????????????????????G???????????????????????????????????_????\
??C???A????????????????????????????_???????????????????????A????????????\
?A??????????????????????C???????????????????????????????????@???G???????\
?????????G?????O????????????????????_????????????C??????????????????????\
???????????????C???????????C??????_???@?O????????????????C??????????????\
O??????????????????A????????????????C????????????????????????E??????????\
G???????????????????????????G????????????????????C???G??????????????????\
??????C??O?????????????????G??@??????????????????????????????O??????????\
????????????????????????????????????A????????????????????????O??????@???\
????????????????@???????????????????????????_?????????W?????????????????\
?????????????????????????@??????????????????????????????????????????????\
????_????????????@????????????G???????????????G???????????O?????????????\
??????????????_?CO???????@?????????????????????????????????????????????O\
??@?????????????????????????????????????A??_????????????????????????????\
???C???@???C?????????????C???????????AC??????????????????????????????_??\
????????????G???@A??????????????????????????A?????????????????C???????GG\
????????????????????G????????????????C??????_???????????????????A???????\
??????????_A?????????????????????????????????????????A????????????????_?\
?????????????????_???????????????????????????A??????????_???????????????\
??????O????G??????????O?????????????????????????
WARNING: Output truncated!  
full_output.txt



100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
4200
4300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900

...

69700
69800
69900
70000
70100
70200
70300
70400
70500
70600
70700
70800
70900
71000
71100
71200
71300
71400
71500
71600
71700
71800
71900
72000
72100
72200
72300
72400
72500
72600
72700
72800
72900
73000
73100
73200
73300
73400
73500
73600
73700
73800
73900
74000
74100
74200
74300
74400
74500
74600
74700
74800
74900
75000
75100
75200
75300
75400
75500
you are running out of primes. 1000 coprime primes found199 ~?BF????????????????????????G????????????????????????????_?????????A??????????????????????????????????G??????????????C????A??????_??????????????????A????????????G?C????????C??????????????????????????????????????_?????????????????????????_???_????@????????????????????C???????????????????????????@??????????????????????????????????????????????????????????????????????????????a??????????????_?????????????????????????????@?????????????????????????????????@???????????A??????????????????????????????A?????????????@?A????????????????_??????????????????????????????????????O???????????????????????????_???????????G??_?????????????????????_??????????????????????C_?????????A??????????????????????????A????O@?????????????????????????????????????S????????????????????????????????????????????????O????????@??????????????????_??????????????????????????O???????????????????????????????????????????????C?????????????????????????_????????????????????????O????????????G???????????????????????A?@?????????????????????????????????O?????????????_????????_???@????????????????????O??????????????C??????O?????@???????@?????????????????@?????????????????????@??????@?????????G??????????????????@?????????????????????@????????????????????????????????G???????G?????G?????????????????????????????A??G?????????_???@????????????????????????@??????G????????O?????????????????????@????????????????????????????????????O?????P????????_????????????C?????????????_???????????????????????O??????O??????????????????@?????????????@??????????????????????????????C???????????????????????C?????????G?????????A?????????????????_?????????O????????@????????G????????????A????C??????????C????????????????CA??????????A??????????????????????????????????C???????????A??????????@?????????A???????@????O???????????????????A@?????C????????????????????????????????????C???A??????C???????????????????????????_?????????????A?????O???????????????????????G???????????????????????????????????_??????C???A????????????????????????????_???????????????????????A?????????????A??????????????????????C???????????????????????????????????@???G????????????????G?????O????????????????????_????????????C?????????????????????????????????????C???????????C??????_???@?O????????????????C??????????????O??????????????????A????????????????C????????????????????????E??????????G???????????????????????????G????????????????????C???G????????????????????????C??O?????????????????G??@??????????????????????????????O??????????????????????????????????????????????A????????????????????????O??????@???????????????????@???????????????????????????_?????????W??????????????????????????????????????????@??????????????????????????????????????????????????_????????????@????????????G???????????????G???????????O???????????????????????????_?CO???????@?????????????????????????????????????????????O??@?????????????????????????????????????A??_???????????????????????????????C???@???C?????????????C???????????AC??????????????????????????????_??????????????G???@A??????????????????????????A?????????????????C???????GG????????????????????G????????????????C??????_???????????????????A?????????????????_A?????????????????????????????????????????A????????????????_??????????????????_???????????????????????????A??????????_?????????????????????O????G??????????O?????????????????????????
g=Graph("~?BF????????????????????????G????????????????????????????_?????????A????\ ??????????????????????????????G??????????????C????A??????_??????????????\ ????A????????????G?C????????C??????????????????????????????????????_????\ ?????????????????????_???_????@????????????????????C????????????????????\ ???????@????????????????????????????????????????????????????????????????\ ??????????????a??????????????_?????????????????????????????@????????????\ ?????????????????????@???????????A??????????????????????????????A???????\ ??????@?A????????????????_??????????????????????????????????????O???????\ ????????????????????_???????????G??_?????????????????????_??????????????\ ????????C_?????????A??????????????????????????A????O@???????????????????\ ??????????????????S????????????????????????????????????????????????O????\ ????@??????????????????_??????????????????????????O?????????????????????\ ??????????????????????????C?????????????????????????_???????????????????\ ?????O????????????G???????????????????????A?@???????????????????????????\ ??????O?????????????_????????_???@????????????????????O??????????????C??\ ????O?????@???????@?????????????????@?????????????????????@??????@??????\ ???G??????????????????@?????????????????????@???????????????????????????\ ?????G???????G?????G?????????????????????????????A??G?????????_???@?????\ ???????????????????@??????G????????O?????????????????????@??????????????\ ??????????????????????O?????P????????_????????????C?????????????_???????\ ????????????????O??????O??????????????????@?????????????@???????????????\ ???????????????C???????????????????????C?????????G?????????A????????????\ ?????_?????????O????????@????????G????????????A????C??????????C?????????\ ???????CA??????????A??????????????????????????????????C???????????A?????\ ?????@?????????A???????@????O???????????????????A@?????C????????????????\ ????????????????????C???A??????C???????????????????????????_????????????\ ?A?????O???????????????????????G???????????????????????????????????_????\ ??C???A????????????????????????????_???????????????????????A????????????\ ?A??????????????????????C???????????????????????????????????@???G???????\ ?????????G?????O????????????????????_????????????C??????????????????????\ ???????????????C???????????C??????_???@?O????????????????C??????????????\ O??????????????????A????????????????C????????????????????????E??????????\ G???????????????????????????G????????????????????C???G??????????????????\ ??????C??O?????????????????G??@??????????????????????????????O??????????\ ????????????????????????????????????A????????????????????????O??????@???\ ????????????????@???????????????????????????_?????????W?????????????????\ ?????????????????????????@??????????????????????????????????????????????\ ????_????????????@????????????G???????????????G???????????O?????????????\ ??????????????_?CO???????@?????????????????????????????????????????????O\ ??@?????????????????????????????????????A??_????????????????????????????\ ???C???@???C?????????????C???????????AC??????????????????????????????_??\ ????????????G???@A??????????????????????????A?????????????????C???????GG\ ????????????????????G????????????????C??????_???????????????????A???????\ ??????????_A?????????????????????????????????????????A????????????????_?\ ?????????????????_???????????????????????????A??????????_???????????????\ ??????O????G??????????O?????????????????????????") 
       
os.system("sage -i nauty-25") 
       
tee: /home/sage/build/sage-6.2/logs/install.log: Permission denied
tee: /home/sage/build/sage-6.2/logs/pkgs/nauty-25.log: Permission denied
Found package nauty-25 in
/home/sage/build/sage-6.2/upstream/nauty-25.spkg
Package nauty-25 is already installed.
Use 'sage -f /home/sage/build/sage-6.2/upstream/nauty-25.spkg' to force
a reinstallation.
touch: cannot touch
`/home/sage/build/sage-6.2/local/var/lib/sage/installed/nauty-25':
Permission denied
256
tee: /home/sage/build/sage-6.2/logs/install.log: Permission denied
tee: /home/sage/build/sage-6.2/logs/pkgs/nauty-25.log: Permission denied
Found package nauty-25 in /home/sage/build/sage-6.2/upstream/nauty-25.spkg
Package nauty-25 is already installed.
Use 'sage -f /home/sage/build/sage-6.2/upstream/nauty-25.spkg' to force a reinstallation.
touch: cannot touch `/home/sage/build/sage-6.2/local/var/lib/sage/installed/nauty-25': Permission denied
256
for n in range(4): print n; for g in graphs.nauty_geng("%s -c"%n): print g.graph6_string(); reset(); 
       
0
1
@
2
A_
3
BW
Bw
0
1
@
2
A_
3
BW
Bw