back to table · edit · history · where entries came from · files · download
5318 bytes, as of the version from 2026-10-25 09:13 (current). Recorded here, not run.
T480: Covering radii of the best known spherical coverings by n equal caps
Files
generate.py: NumberDB generator, with verification as its default action.
checks.py: independent geometry, exact controls, two-precision checks,
stored-value checks, conversion and enclosure checks.
source.json: all 127 original configurations and upward-rounded PDF radii;
original per-file and archive SHA-256 hashes are included.
evidence.json: results of checks.py before filling the draft.
check.py: the repository's reusable table-build checks, copied unchanged.
Reproduce
sage -pip install numberdb scipy numpy
sage -python checks.py
sage -python generate.py
NUMBERDB_STORED=1 sage -python checks.py
Authenticated draft reads require NUMBERDB_API_KEY. No script makes a table
public or offers it for review. The --fill-draft option is an explicit write
to the existing table and should only be used by its authorised maintainer.
Source
R. H. Hardin, N. J. A. Sloane and W. D. Smith, 1994 spherical coverings,
maintained by Henry Cohn. Downloaded 2026-10-25 from
https://dspace.mit.edu/entities/product/e6c690ad-fb5f-429d-873a-894ab7c80509
The radius PDF rounds UP, unlike some old Sloane-page decimals. We use
the maintained archive, including its supplied coordinates, throughout.
The source JSON stores exact text, without converting coordinates to floats.
Meaning and precision
Sphere radius is 1. Angles are cap radii in degrees, not diameters.
The chord radius is 2 sin(pi*rho/360). Angles and chords are invertible
conventions for one quantity. n is the number of cap centres.
n=4 through 130 is the source's complete unrestricted covering sequence;
the separate icosahedral-symmetry records are not merged into it.
All source coordinates are radially normalised before geometric checks.
For numerical source rows, the source interval is [printed-1e-7,printed]
degrees. The angle is written with seven decimals; the chord is rounded
to eight significant digits and its implied interval is checked to contain
the full transformed input interval. This is an agreement-based accuracy
model, not a proof of optimality or a rigorous error bound for optimisation.
The high-precision rows use exact geometry, not extra digits inferred from
the approximate coordinates. Source-coordinate agreement in these rows
is only asserted at the source's precision.
Exact-geometry derivations
n=4: a regular tetrahedron has inradius/circumradius 1/3.
n=6: an octahedron has inradius/circumradius 1/sqrt(3).
n=5,7: take both poles and a regular m-gon on the equator, m=n-2.
A face plane has distance cos(pi/m)/sqrt(1+cos(pi/m)^2).
n=12: an icosahedron has inradius/circumradius
sqrt((5+2*sqrt(5))/15).
n=10,14: put c=cos(pi/m), m=(n-2)/2, z=c/(1+c), a=sqrt(1-z^2).
Use the poles and points (a*cos(2*pi*k/m),a*sin(2*pi*k/m),z),
(a*cos((2*k+1)*pi/m),a*sin((2*k+1)*pi/m),-z), 0<=k<m.
The relation (1-z^2)c-z^2=z makes every side triangle congruent
to a polar triangle. A polar triangle's plane gives
h^2=c^2*(1+z)/(c^2*(1+z)+1-z)
=c^2*(1+2*c)/(1+c^2*(1+2*c)).
These expressions are derived from the stated geometries. They were not
fitted to source digits. Every constructed facet and every formula is
checked against both geometry and the source radius.
The n=8 row has a published optimality proof, but no exact formula was
established in this build; it is explicitly retained at source precision.
Verification limits
The checks do not reproduce any global optimisation or optimality proof.
SciPy selects a hull triangulation. The facet arithmetic is independently
repeated at 192 and 320 bits; the topological candidate selection remains
numerical. Every proposed facet is tested against every point with a 1e-12
tolerance, and the triangulated sphere's edge incidence and Euler identity
are checked. Thus the table as a whole is heuristic (agreement-checked).
Elementary extension, 2026-10-25
The generator now covers n=1 through 130, retaining all source entries.
For one centre, its antipode is at angle 180 degrees and chord distance 2,
the greatest possible distances on the unit sphere.
For any two or three centres, put their coordinates in a matrix A with
three columns. If rank(A)<3, a nonzero vector in its nullspace is
orthogonal to every centre. If rank(A)=3, there are three centres and
A is invertible: y=-A^(-1)(1,1,1) has negative dot product with each.
Normalising y gives a point at least 90 degrees from every centre.
Thus every configuration needs radius at least 90 degrees. Two antipodal
centres cover the sphere with hemispheres, and adding a distinct third
centre preserves that covering. These constructions attain the bound.
The chord distances follow from the unit-vector identity
|x-y|^2=2-2<x,y>: an orthogonal boundary point is at distance sqrt(2).
sage -python repair-checks.py
Checks all six added values, exact rational square brackets for the two
irrational entries, an independent interval trigonometric conversion,
finite radii at 100 and 160 digits, and exact geometry controls.
The attached repair-evidence.json records the run. The earlier evidence
files and checks.py concern the unchanged source range n=4 through 130.