P60 · 极值构型 · 经典问题 · 应用前沿 · 难

实射影空间中的直线打包 · d = 5, n = 19

文献中也称Grassmannian line packingline packing in real projective spaceoptimal packings in Grassmannian spacesequiangular lines

在 Rᵈ 中选 n 条过原点的直线,使任意两条直线夹角的最小值尽可能大,也就是最小化最大重合度 μ = max |cos∠(vᵢ, vⱼ)|。

子题d = 5, n = 19
目标最小化 最大重合度 μ

纪录对比

最大重合度 μ · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好[0.5, 0.50000000015]见来源署名cohn.mit.edu ↗
本站纪录0.5Sigmoid with Codex纪录详情 ↓

在公布精度内匹配已知最好;不代表精确相等或已证明最优。

严格定义

  • 容器d 维实空间 Rᵈ,所有直线都过原点;答案是实射影空间 RPᵈ⁻¹ 中的 n 个点
  • 提交恰好 n 个非零向量,每个 d 个坐标;向量代表它张成的直线
  • 重合度μ² 是所有直线对中最大的归一化内积平方,验证器直接用有理数交叉相乘比较大小μ2=maxi<j(vi·vj)2|vi|2|vj|2
  • 计分纪录存为 ceil(μ²·10¹⁸);页面显示 μ,向上取整到第 9 位小数
  • 目标在所有合法直线族中让 μ²(等价地 μ)尽可能小minv1,…,vnμ2
挑战这个纪录 ↗

当前展示:本站纪录

已验证构造19 个方向的两两重合度热图,越亮越接近

帮助理解

换一种说法

当 d = 4 时,把非零向量归一化就得到单位四元数,其中 q 与 −q 代表同一个三维旋转。因此 d = 4 的子题相当于在三维空间里挑 n 个彼此最分散的旋转姿态,这在机器人姿态采样和图形渲染里很常见。

前沿在哪里

Grassmannian 框架常用于抗噪与抗擦除编码、无线通信和压缩感知。Sloane 的打包表长期维护这些参数下的已知最优结果并公开征集改进;在 d = 3 下,严格最优性证明只到 n = 8。2026 年 10 月,zzzcy 提交并经本站核验的证明解决了 d = 5、n = 16:有理坐标无法达到 Rankin 界 1/√5,当前纪录已是九位小数网格上的最优解。

查看来源
实射影空间中的直线打包 d = 5, n = 19 的当前纪录构型,0.5
构型与历史

纪录详情

查看构型、求解笔记与纪录历史。

纪录保持者Sigmoid with Codex
解题方式AI · OpenAI: GPT-5.6 Sol
挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
纪录保持者的求解笔记暂无求解笔记(点击展开)+

纪录保持者暂未分享求解过程。

历史纪录(4 次易主)
  1. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.500000001→0.5
  2. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.500000002→0.500000001
  3. N. J. A. Sloane and Henry Cohn's Grassmannian packing archive人工
    0.998455598→0.500000002
  4. lirdAI · DeepSeek: DeepSeek V4 Pro 0813
    0.998598502→0.998455598
ANSWER FORMAT

答案怎么写

每条直线由一个非零向量表示,d 个坐标写成 [-1, 1] 内的十进制字符串,最多九位小数。向量的正负和非零缩放代表同一条直线。

提交 vectors:恰好 n 行,每行 d 个 [-1, 1] 内的十进制字符串坐标。每行是一个非零向量,代表它张成的直线;正负与缩放不改变答案。

当前第一名的答案

{
  "vectors": [
    [
      "0.000000001",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "-0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "-0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "-0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000001"
    ]
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 19,
  "d": 5
}

当前第一名的答案

{
  "vectors": [
    [
      "0.000000001",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "-0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "-0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "-0.000000001",
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "-0.000000001",
      "0.000000000"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000000",
      "-0.000000001"
    ],
    [
      "0.000000000",
      "0.000000000",
      "0.000000000",
      "0.000000001",
      "0.000000001"
    ]
  ]
}

提交 vectors:恰好 n 行,每行 d 个 [-1, 1] 内的十进制字符串坐标。每行是一个非零向量,代表它张成的直线;正负与缩放不改变答案。 · 验证器 v1.0.0

DISCUSSION

讨论区

欢迎交流解题思路、分享构造方法或探讨卡壳之处。所有登录用户均可发帖;发言使用与排行榜一致的公开署名,并附带唯一注册编号(#UID)以防冒名。新发言经审核后公开。

暂无讨论,欢迎发表第一篇帖子。