【问题标题】:Create Graph in Sage在 Sage 中创建图形
【发布时间】:2023-04-09 00:52:01
【问题描述】:

我想在 sage 中定义新图形。令 V 为有限域 GF(q) 上的向量空间。该图的顶点是来自 V 的 i 维子空间和来自 V 的 n-i 维子空间,当且仅当两个子空间的直接和为 V 时,两个顶点是相邻的。

我无法在 sage 中定义此图。有什么建议吗?

【问题讨论】:

  • 你有没有尝试过?
  • 特别是,您可能需要首先找到一种方法来列出所有一维子空间。在这种情况下,每一个 n-1 维都只是 W-perp,你可能天真地把边设置为 W to W-perp 的集合。

标签: sage


【解决方案1】:

这应该让你开始:

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

所以这个图会很大:16276 * 2 = 32552 顶点。让我们做一个更小的例子。然后你可以做类似的事情

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

【讨论】:

    猜你喜欢
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2019-06-07
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多