README.txt

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.