6 votos

Crear gráfico en Sage

Quiero definir un nuevo gráfico en sage. Sea$V$ el espacio vectorial sobre el campo finito$GF(q)$. Los vértices del gráfico son un subespacio unidimensional del subespacio$V$ y$n-1$ -dimensional de$V$ y dos vértices son adyacentes si y sólo si la suma directa de dos subespacios es$V$.

Tengo problemas para definir esta gráfica en sage. ¿Cualquier sugerencia?

5voto

samt Puntos 633

Aquí hay un algoritmo simple para crear el gráfico que desea.

 p=5
n=3
V=VectorSpace(GF(p),n)
edges=[]
for i in V.subspaces(1):
  for j in V.subspaces(n-1):
    gens=list(j.gens())
    gens.append(i.gens()[0])
    H=V.subspace(gens)
    if(H.dimension()==n):
      edges.append((i,j))

G=Graph(edges)
 

No estoy seguro de lo que quiere etiquetar, por lo que los bordes son en realidad los vectorspaces actual, que es bastante ineficiente. Probablemente deberías crear un esquema de nomenclatura simple usando un diccionario python, por ejemplo. También es probable que las maneras más rápidas de calcular esto que cortar una buena parte de las pruebas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X