P68 · Extremal configurations · Classic · Applied frontier · Hard

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

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

Record comparison

largest inner product · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[0.7815518750945, 0.7815518750955]See source attributionspherical-codes.org ↗
Site record0.781551875216503283zzzcyRecord 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 = 30, 0.781551875216503283
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.781551875266463232→0.781551875216503283
  2. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.781551875305512436→0.781551875266463232
  3. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.781551875307850813→0.781551875305512436
  4. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.781551875412752461→0.781551875307850813
  5. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.781551875763660801→0.781551875412752461
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.155194097",
      "-0.705524828"
    ],
    [
      "0.155194097",
      "0.705524828"
    ],
    [
      "-0.747331334",
      "-0.750284307"
    ],
    [
      "0.747331334",
      "0.750284307"
    ],
    [
      "0.381363497",
      "-0.891845045"
    ],
    [
      "-0.381363497",
      "0.891845045"
    ],
    [
      "0.192464983",
      "-0.420971363"
    ],
    [
      "-0.192464983",
      "0.420971363"
    ],
    [
      "-0.230650973",
      "-1.413767500"
    ],
    [
      "0.230650973",
      "1.413767500"
    ],
    [
      "1.014617832",
      "-1.687265579"
    ],
    [
      "-1.014617832",
      "1.687265579"
    ],
    [
      "-0.411407327",
      "-0.323311564"
    ],
    [
      "0.411407327",
      "0.323311564"
    ],
    [
      "-4.635493352",
      "1.484938549"
    ],
    [
      "4.635493352",
      "-1.484938549"
    ],
    [
      "0.863672987",
      "0.122210104"
    ],
    [
      "-0.863672987",
      "-0.122210104"
    ],
    [
      "-0.342446573",
      "0.065645491"
    ],
    [
      "0.342446573",
      "-0.065645491"
    ],
    [
      "-0.645855391",
      "0.380777542"
    ],
    [
      "0.645855391",
      "-0.380777542"
    ],
    [
      "-1.073046096",
      "-3.349699586"
    ],
    [
      "1.073046096",
      "3.349699586"
    ],
    [
      "-0.065744317",
      "-0.156796740"
    ],
    [
      "0.065744317",
      "0.156796740"
    ],
    [
      "-1.381448654",
      "0.452876029"
    ],
    [
      "1.381448654",
      "-0.452876029"
    ],
    [
      "1.805539129",
      "0.756951051"
    ],
    [
      "-1.805539129",
      "-0.756951051"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 30
}

The current leader's answer

{
  "points": [
    [
      "-0.155194097",
      "-0.705524828"
    ],
    [
      "0.155194097",
      "0.705524828"
    ],
    [
      "-0.747331334",
      "-0.750284307"
    ],
    [
      "0.747331334",
      "0.750284307"
    ],
    [
      "0.381363497",
      "-0.891845045"
    ],
    [
      "-0.381363497",
      "0.891845045"
    ],
    [
      "0.192464983",
      "-0.420971363"
    ],
    [
      "-0.192464983",
      "0.420971363"
    ],
    [
      "-0.230650973",
      "-1.413767500"
    ],
    [
      "0.230650973",
      "1.413767500"
    ],
    [
      "1.014617832",
      "-1.687265579"
    ],
    [
      "-1.014617832",
      "1.687265579"
    ],
    [
      "-0.411407327",
      "-0.323311564"
    ],
    [
      "0.411407327",
      "0.323311564"
    ],
    [
      "-4.635493352",
      "1.484938549"
    ],
    [
      "4.635493352",
      "-1.484938549"
    ],
    [
      "0.863672987",
      "0.122210104"
    ],
    [
      "-0.863672987",
      "-0.122210104"
    ],
    [
      "-0.342446573",
      "0.065645491"
    ],
    [
      "0.342446573",
      "-0.065645491"
    ],
    [
      "-0.645855391",
      "0.380777542"
    ],
    [
      "0.645855391",
      "-0.380777542"
    ],
    [
      "-1.073046096",
      "-3.349699586"
    ],
    [
      "1.073046096",
      "3.349699586"
    ],
    [
      "-0.065744317",
      "-0.156796740"
    ],
    [
      "0.065744317",
      "0.156796740"
    ],
    [
      "-1.381448654",
      "0.452876029"
    ],
    [
      "1.381448654",
      "-0.452876029"
    ],
    [
      "1.805539129",
      "0.756951051"
    ],
    [
      "-1.805539129",
      "-0.756951051"
    ]
  ]
}

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.