6
$\begingroup$

I want define new graph in sage. Let $V$ be vector space over finite field $GF(q)$. The graph's vertices are 1-dimensional subspace from $V$ and $n-1$ -dimensional subspace from $V$ and two vertices are adjacent if and only if direct sum of two subspace is $V$.

I have trouble with define this graph in sage. Any suggestion?

  • 0
    Actually, it's one of the first things in the FAQ: http://math.stackexchange.com/faq It specifically says that questions are welcome if they are about "Software that mathematicians use" So anyone voting to close as off-topic is voting against the FAQ.2012-09-25

1 Answers 1

5

Here is a simple algorithm to create the graph you want.

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) 

I'm not sure what you want to label them, so the edges are actually the current vectorspaces, which is rather inefficient. You should probably come up with a simple naming scheme using a python dictionary, for instance. There are also likely faster ways to compute this that cut out a good deal of the tests.