0001 function cube(g,k)
0002
0003
0004 if nargin==1
0005 cube(g,3);
0006 xy = [
0007 0 0
0008 1 0
0009 0 1
0010 1 1
0011 ];
0012 xy = [xy ; 2*xy-1/2];
0013 embed(g,xy);
0014 return
0015
0016 end
0017
0018 if (k==1)
0019 path(g,2);
0020 return
0021 end
0022
0023 if (k==2)
0024 resize(g,4);
0025 clear_edges(g);
0026 full(g);
0027 elist = [ 1 2; 2 4; 4 3; 3 1];
0028 add(g,elist);
0029 xy = [ 0 0 ; 1 0 ; 0 1 ; 1 1];
0030 embed(g,xy);
0031 return
0032 end
0033
0034 cube(g,k-1);
0035
0036 k2 = graph(2);
0037 tmp = graph;
0038
0039 complete(k2);
0040 embed(k2,[-1,0;1,0]);
0041 copy(tmp,g);
0042 cartesian(g,tmp,k2);
0043
0044 free(k2);
0045 free(tmp);