2012-08-22 2 views
0

세이지에서 새 그래프를 정의하고 싶습니다. V를 유한 필드 GF (q)에 대한 벡터 공간이라고하자. 그래프의 vertex는 V의 i 차원 부분 공간과 V의 n-i 차원 부분 공간이며 두 개의 부분 공간의 직접 합이 V 인 경우에만 두 개의 꼭짓점이 인접합니다.세이지 그래프 만들기

sage에서이 그래프를 정의하는 데 문제가 있습니다. 어떠한 제안? 이 받아야

+0

아무 것도 시도해 보지 않으셨습니까? – huon

+0

특히, 모든 1 차원 부분 공간을 나열하는 방법을 먼저 찾아야 할 수도 있습니다. 이 경우, n-1 차원의 모든 것은 W-perp 일 뿐이며, 여러분은 아마 순진하게 'W to W-perp'의 집합을 만들 수 있습니다. – kcrisman

답변

1

당신은 시작 : 16276 * 2 = 32552 정점 :

sage: p = 5 
sage: K = GF(p^2, 'a') 
sage: V = K^4 
sage: len(list(V.subspaces(1))) 
16276 
sage: len(list(V.subspaces(3))) 
16276 

그래서이 그래프는 꽤 큰 될 것입니다. 더 작은 예를 들어 봅시다. 그럼 뭔가 할 수있어

sage: p = 3 
sage: K = GF(p) 
sage: V = K^4 
sage: vertices = list(V.subspaces(1)) + list(V.subspaces(3)) 
sage: for X in vertices: 
....:  L = [] 
....:  for Y in vertices: 
....:   if X + Y == V: 
....:    L.append(Y) 
....:  d[X] = L 
....:  
sage: Graph(d) 
Graph on 80 vertices