| Hosted by CoCalc | Download
def juli3(c): # construye grafos de Julia, cuando f(x)=x^3+c gr=Graph();gr.add_vertices(K); # los vértices son los elementos del campo arcos=[(i,j) for (i,j) in cartesian_product([K,K]) if (c+i^3==j)]; #arcos gr.add_edges(Set(arcos)) return gr # devuelve el grafo
K=GF(13);cc=4;juli3(cc).show() #un ejemplito, sale conexo con
def que(K): #me dice para cuales c sale conexo el julia3 for ii in K: if juli3(ii).is_connected(): print ii, que(K) #para Z_13 hay 8 conexos
1 3 4 6 7 9 10 12
K=GF(11);que(K) #Para 11 sólo 2
4 7
K=GF(17);que(K) #Para 17 todos son disconexos
K=GF(19);que(K) #para 19 hay 6
3 7 8 11 12 16
K=GF(23);que(K) #Para 23 tamposo hay conexos
K=GF(29);que(K) #lo mismo pa 29
K=GF(9,'u');que(K) #aquí cambiamos el campo y tampoco hay conexos
K=GF(7);que(K) #Para 7 cas todos hay
1 2 3 4 5 6
K=GF(8,'v');que(K) # pero en un campo de 8 elementos hay 3 conexos
v v^2 v^2 + v
K=GF(16,'r');que(K) # y en uno de 16 hay 8
r r^2 r + 1 r^3 + r + 1 r^2 + 1 r^3 + r^2 + r r^3 + r^2 + 1 r^3 + 1
K.<r>=GF(16);juli3(r^2).show() #para r es un árbol sin ciclos
juli3(r).is_isomorphic(juli3(r^2)) #una buena pregunta!
True
#En definitiva hemos probado con alrededor de 100 grafos, toca sacar conclusiones que(K) #para Z_13 hay 8 conexos
1 3 4 6 7 9 10 12
K=GF(13) def juli2(c): # construye grafos de Julia, cuando f(x)=x^2+c gr=Graph();gr.add_vertices(K); # los vértices son los elementos del campo arcos=[(i,j) for (i,j) in cartesian_product([K,K]) if (c+i^3==j)]; #arcos gr.add_edges(Set(arcos)) return gr
juli2(4).show()
juli2(9).show()