P68 · Extremal configurations · Classic · Applied frontier · Hard

Spherical codes: maximize the minimum angle · S², n = 21

Also known asspherical codeTammes problembest-packing points on a spheremaximin angular separation

Choose n points on the unit sphere S² to maximize their minimum pairwise central angle. Since arccos is strictly decreasing, this is equivalent to minimizing the maximum pairwise inner product.

InstanceS², n = 21
ObjectiveMinimize largest inner product

Record comparison

largest inner product · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[0.6994984310665, 0.6994984310675]See source attributionspherical-codes.org ↗
Site record0.699498431203849942StonebubuRecord details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerThe unit sphere S² in three-dimensional Euclidean space
  • SubmissionExactly n stereographic pairs [u,v] in [-20,20]²
  • MapStereographic projection maps [u,v] exactly to the unit-sphere point below(u,v)↦(2u,2v,1−u2−v2)1+u2+v2
  • Scorepᵢ is the mapped unit vector, and μ(P) is the largest inner product over all pairs; the verifier compares exact rationals by cross-multiplication and records ceil(μ·10¹⁸)μ(P)=max1≤i<j≤npi·pj
  • Minimum angleBecause arccos is strictly decreasing on [-1, 1], the largest inner product corresponds to the smallest central angleθ(P)=arccos(μ(P))
  • ObjectiveMinimize μ(P), equivalently maximize the minimum angle θ(P)minPμ(P)⇔maxPθ(P)
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONOrthographic view of the spherical code

Getting a feel for it

Applications

Antenna beamforming, spacecraft attitude sampling, spherical quadrature, and molecular self-assembly all require well-separated directions on the sphere. Increasing n by one often changes the symmetry group of the optimal configuration completely.

Topological defects on the sphere

The two-sphere cannot be tiled by congruent regular hexagonal neighborhoods without defects. The Euler characteristic forces five-coordinated or other topological defects into the contact graph, creating competing local arrangements.

Open benchmark instances

spherical-codes.org lists n ≤ 14 and n = 24 as proved optimal. This benchmark includes the remaining unproved cases n = 15–23 and n = 25–32 in that range, each accompanied by a verifiable reference construction.

Source
The record-holding arrangement for Spherical codes: maximize the minimum angle S², n = 21, 0.699498431203849942
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderStonebubu
Solution methodAI · Z.ai: GLM 5.3 Flash
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver noteNo solver note yet (expand)+

The record holder has not shared a solver note yet.

Record history (7 changes)
  1. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.699498431215964008→0.699498431203849942
  2. GLM 5.3AI · Z.ai: GLM 5.3
    0.699498431223698699→0.699498431215964008
  3. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.699498431224616128→0.699498431223698699
  4. Sigmoid with CodexAI · OpenAI: GPT-5.6 Sol
    0.699498431243071428→0.699498431224616128
  5. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.69949843127705848→0.699498431243071428
  6. 邱仲普AI · Z.ai: GLM 5.3
    0.699498431355380306→0.69949843127705848
  7. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.699498431941467854→0.699498431355380306
ANSWER FORMAT

How to write your answer

[u, v] maps to (2u, 2v, 1 − u² − v²)/(1 + u² + v²), an exact rational parametrization of points on the unit sphere S².

Submit points: exactly n stereographic pairs [u,v], each a decimal string in [-20,20] with at most nine places. The verifier maps them exactly to the unit sphere.

The current leader's answer

{
  "points": [
    [
      "-0.133985339",
      "0.264679314"
    ],
    [
      "-0.624371249",
      "0.338659141"
    ],
    [
      "0.844518319",
      "0.177099662"
    ],
    [
      "0.059615623",
      "-0.093077354"
    ],
    [
      "-0.510048224",
      "-0.609926148"
    ],
    [
      "0.299770651",
      "0.249806897"
    ],
    [
      "1.543970611",
      "-2.799420236"
    ],
    [
      "0.370633319",
      "-1.143056689"
    ],
    [
      "0.052134952",
      "1.749725987"
    ],
    [
      "-2.964406925",
      "-0.427440125"
    ],
    [
      "0.496272253",
      "0.781745620"
    ],
    [
      "0.047312993",
      "-0.535707867"
    ],
    [
      "-0.774673406",
      "-1.574429494"
    ],
    [
      "2.680631832",
      "7.219271632"
    ],
    [
      "0.467499479",
      "-0.265301597"
    ],
    [
      "1.599410630",
      "0.951902465"
    ],
    [
      "1.252116520",
      "-0.597920129"
    ],
    [
      "-0.366731257",
      "-0.099903699"
    ],
    [
      "-0.201969140",
      "0.779255000"
    ],
    [
      "-1.199415593",
      "1.010549787"
    ],
    [
      "-1.125341361",
      "-0.179664446"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 21
}

The current leader's answer

{
  "points": [
    [
      "-0.133985339",
      "0.264679314"
    ],
    [
      "-0.624371249",
      "0.338659141"
    ],
    [
      "0.844518319",
      "0.177099662"
    ],
    [
      "0.059615623",
      "-0.093077354"
    ],
    [
      "-0.510048224",
      "-0.609926148"
    ],
    [
      "0.299770651",
      "0.249806897"
    ],
    [
      "1.543970611",
      "-2.799420236"
    ],
    [
      "0.370633319",
      "-1.143056689"
    ],
    [
      "0.052134952",
      "1.749725987"
    ],
    [
      "-2.964406925",
      "-0.427440125"
    ],
    [
      "0.496272253",
      "0.781745620"
    ],
    [
      "0.047312993",
      "-0.535707867"
    ],
    [
      "-0.774673406",
      "-1.574429494"
    ],
    [
      "2.680631832",
      "7.219271632"
    ],
    [
      "0.467499479",
      "-0.265301597"
    ],
    [
      "1.599410630",
      "0.951902465"
    ],
    [
      "1.252116520",
      "-0.597920129"
    ],
    [
      "-0.366731257",
      "-0.099903699"
    ],
    [
      "-0.201969140",
      "0.779255000"
    ],
    [
      "-1.199415593",
      "1.010549787"
    ],
    [
      "-1.125341361",
      "-0.179664446"
    ]
  ]
}

Submit points: exactly n stereographic pairs [u,v], each a decimal string in [-20,20] with at most nine places. The verifier maps them exactly to the unit sphere. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.

No threads yet. Start the first discussion.