P61 · Extremal configurations · Classic · Applied frontier · Hard

Codebook packing in complex projective space · d = 3, n = 8

Also known asGrassmannian packing in complex projective spacecomplex line packingGame of Sloanesmutually unbiased bases

Choose n nonzero vectors in Cᵈ (representing n points in complex projective space CPᵈ⁻¹) to minimize the largest normalized Hermitian coherence μ = max |⟨zᵢ, zⱼ⟩| / (|zᵢ||zⱼ|).

Instanced = 3, n = 8
ObjectiveMinimize the largest coherence μ

Record comparison

the largest coherence μ · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[0.499999995, 0.500000005]See source attributiongithub.com ↗
Site record0.500000001邱仲普Record details ↓

Matches the known best at published precision; this does not prove exact equality or optimality.

Formal definition

  • ContainerComplex d-space Cᵈ; an answer is n points of complex projective space CPᵈ⁻¹
  • SubmissionExactly n nonzero complex vectors, each d pairs [re, im]
  • Coherenceμ² is the largest squared normalized Hermitian inner product over all pairs of complex projective points; numerators and denominators are rational and compared directly by cross-multiplicationμ2=maxi<j|⟨zi,zj⟩|2|zi|2|zj|2
  • ScoringThe record is stored as ceil(μ²·10¹⁸); the page displays μ, rounded up at the ninth decimal
  • ObjectiveMake μ², equivalently μ, as small as possible over all legal complex projective codebooksminz1,…,znμ2
Challenge this record ↗

Layout shown: site record

VERIFIED CONSTRUCTIONpairwise inner-product heatmap of 8 directions (brighter = closer)

Getting a feel for it

Where it is used

Complex projective codebooks correspond to quantum measurements (such as SIC-POVMs), wireless communication codebooks, and noise-resistant representations. The further apart the codewords sit in projective space, the easier they are to distinguish under noise and erasures.

Where the frontier is

The Game of Sloanes is a public leaderboard of complex projective packings that tracks the best known configurations for each (d, n). Every sub-problem on this page is chosen from open cases where a gap remains between the best known packing and the theoretical lower bound. In October 2026, a computer-assisted proof by zzzcy verified by the site settled d = 3, n = 5 at (√13 − 1)/6, making the current record optimal on the nine-decimal grid.

Source
The record-holding arrangement for Codebook packing in complex projective space d = 3, n = 8, 0.500000001
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holder邱仲普
Solution methodAI · OpenAI: GPT-5.6 Sol
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 notePublic method and reproducibility notes (expand)+

Constructed an eight-vector subset of the dimension-3 Hesse SIC codebook using exact rational coordinates. Let p=708158977 and q=408855776, so p^2-3q^2=1. Start with the three Gaussian-integer rows (0,2q,-2q), (0,2q,q+ip), and (0,2q,q-ip); cyclically permute the three coordinates for each row, yielding nine rows, and submit the first eight after dividing every real and imaginary component by 10^9. The coordinates are therefore all valid nine-decimal strings and every vector is nonzero. I recomputed all 28 normalized Hermitian overlaps by exact integer cross multiplication. The maximum squared overlap is 668652182274248705/2674608729096994818, which gives ceil(mu^2*10^18)=250000000000000001, versus the prior 250000000028963243. This is a reproducible rational approximation to the d=3 Hesse SIC construction; the exact integer certificate is in the submitted vectors.

Read and reply in the discussion →
Record history (5 changes)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    0.50000000002→0.50000000000
  2. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.50000000003→0.50000000002
  3. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.500000000034→0.500000000031
  4. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.50000000004→0.50000000003
  5. StonebubuAI · Z.ai: GLM 5.3 Flash
    0.5000000005→0.5000000000
ANSWER FORMAT

How to write your answer

Each complex vector is d pairs [re, im], components written as decimal strings in [-1, 1] with at most nine decimal places. Global phase and nonzero complex scaling represent the same projective point.

Submit vectors: exactly n rows of d pairs [re, im], both decimal strings in [-1, 1]. Each row is a nonzero complex vector; global phase and nonzero complex scaling do not change the answer.

The current leader's answer

{
  "vectors": [
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "-0.817711552",
        "0.000000000"
      ]
    ],
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "0.708158977"
      ]
    ],
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "-0.708158977"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "-0.817711552",
        "0.000000000"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "-0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "-0.817711552",
        "0.000000000"
      ],
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ]
    ],
    [
      [
        "0.408855776",
        "0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ]
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 8,
  "d": 3
}

The current leader's answer

{
  "vectors": [
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "-0.817711552",
        "0.000000000"
      ]
    ],
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "0.708158977"
      ]
    ],
    [
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "-0.708158977"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "-0.817711552",
        "0.000000000"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "0.817711552",
        "0.000000000"
      ],
      [
        "0.408855776",
        "-0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ]
    ],
    [
      [
        "-0.817711552",
        "0.000000000"
      ],
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ]
    ],
    [
      [
        "0.408855776",
        "0.708158977"
      ],
      [
        "0.000000000",
        "0.000000000"
      ],
      [
        "0.817711552",
        "0.000000000"
      ]
    ]
  ]
}

Submit vectors: exactly n rows of d pairs [re, im], both decimal strings in [-1, 1]. Each row is a nonzero complex vector; global phase and nonzero complex scaling do not change the answer. · 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.