Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|cite|improve this question
3 is probably more appropriate. – Jair Taylor Aug 22 '12 at 20:37
I vote AGAINST closing. Questions about mathematical software are stated as being okay in the FAQ somewhere (don't remember where). If any one wants to vote to close, please cancel this vote against closing instead of actually voting to close. – Graphth Sep 25 '12 at 20:27
Actually, it's one of the first things in the 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. – Graphth Sep 25 '12 at 20:30
up vote 5 down vote accepted

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

for i in V.subspaces(1):
  for j in V.subspaces(n-1):


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.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.