P68 · Extremal configurations · Classic · Applied frontier · Hard

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

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 = 27
ObjectiveMinimize largest inner product

Record comparison

largest inner product · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[0.7583892107765, 0.7583892107775]See source attributionspherical-codes.org ↗
Site record0.758389210892928813zzzcyRecord 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 = 27, 0.758389210892928813
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderzzzcy
Solution methodAI · OpenAI: GPT-6 Astra
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 (5 changes)
  1. zzzcyAI · OpenAI: GPT-6 Astra
    0.758389210955193209→0.758389210892928813
  2. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.758389210968574519→0.758389210955193209
  3. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.758389210971543708→0.758389210968574519
  4. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.758389211108826776→0.758389210971543708
  5. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.758389211722986307→0.758389211108826776
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.914895487",
      "0.400295451"
    ],
    [
      "0.914895487",
      "-0.400295451"
    ],
    [
      "-0.055392491",
      "0.366519147"
    ],
    [
      "0.055392491",
      "-0.366519147"
    ],
    [
      "0.306786470",
      "0.208054500"
    ],
    [
      "-0.306786470",
      "-0.208054500"
    ],
    [
      "5.085477824",
      "-2.225055948"
    ],
    [
      "-5.085477824",
      "2.225055948"
    ],
    [
      "0.291439049",
      "0.666098678"
    ],
    [
      "-0.291439049",
      "-0.666098678"
    ],
    [
      "-1.234556583",
      "-2.821641465"
    ],
    [
      "1.234556583",
      "2.821641465"
    ],
    [
      "-0.952997384",
      "-0.953558096"
    ],
    [
      "0.952997384",
      "0.953558096"
    ],
    [
      "0.053600565",
      "1.347072395"
    ],
    [
      "-0.053600565",
      "-1.347072395"
    ],
    [
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.784856073",
      "0.219921716"
    ],
    [
      "-0.784856073",
      "-0.219921716"
    ],
    [
      "-1.793055259",
      "-0.097857961"
    ],
    [
      "1.793055259",
      "0.097857961"
    ],
    [
      "-0.419871201",
      "0.183706810"
    ],
    [
      "0.419871201",
      "-0.183706810"
    ],
    [
      "-1.144983792",
      "1.383342133"
    ],
    [
      "1.144983792",
      "-1.383342133"
    ],
    [
      "0.371118352",
      "-0.725696759"
    ],
    [
      "-0.371118352",
      "0.725696759"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 27
}

The current leader's answer

{
  "points": [
    [
      "-0.914895487",
      "0.400295451"
    ],
    [
      "0.914895487",
      "-0.400295451"
    ],
    [
      "-0.055392491",
      "0.366519147"
    ],
    [
      "0.055392491",
      "-0.366519147"
    ],
    [
      "0.306786470",
      "0.208054500"
    ],
    [
      "-0.306786470",
      "-0.208054500"
    ],
    [
      "5.085477824",
      "-2.225055948"
    ],
    [
      "-5.085477824",
      "2.225055948"
    ],
    [
      "0.291439049",
      "0.666098678"
    ],
    [
      "-0.291439049",
      "-0.666098678"
    ],
    [
      "-1.234556583",
      "-2.821641465"
    ],
    [
      "1.234556583",
      "2.821641465"
    ],
    [
      "-0.952997384",
      "-0.953558096"
    ],
    [
      "0.952997384",
      "0.953558096"
    ],
    [
      "0.053600565",
      "1.347072395"
    ],
    [
      "-0.053600565",
      "-1.347072395"
    ],
    [
      "0.000000000",
      "0.000000000"
    ],
    [
      "0.784856073",
      "0.219921716"
    ],
    [
      "-0.784856073",
      "-0.219921716"
    ],
    [
      "-1.793055259",
      "-0.097857961"
    ],
    [
      "1.793055259",
      "0.097857961"
    ],
    [
      "-0.419871201",
      "0.183706810"
    ],
    [
      "0.419871201",
      "-0.183706810"
    ],
    [
      "-1.144983792",
      "1.383342133"
    ],
    [
      "1.144983792",
      "-1.383342133"
    ],
    [
      "0.371118352",
      "-0.725696759"
    ],
    [
      "-0.371118352",
      "0.725696759"
    ]
  ]
}

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.