QUANTAVANE

Results

Spherical code records

A spherical code is a set of N points on the unit sphere in d dimensions, spread out so that no two are close. The aim is to make the largest cosine between two of the points, the cosine of the smallest angle between them, as small as possible. Henry Cohn's table at spherical-codes.org keeps the best code known for every dimension from 3 to 32 and up to 1,024 points.

Thousands of entries in that table are marked as needing more optimization. We start from the table's code, search nearby for a better arrangement by repeated annealing (L-BFGS on a smooth log-sum-exp surrogate of the largest cosine) and polish the result with linear programming. Each new code is checked in 50-digit arithmetic before it is uploaded, and spherical-codes.org recomputes it before listing it.

We upload only gains of at least 10⁻¹⁰ in the largest cosine. Smaller gains, which only finish converging a code, are kept back.

101 listed on the public table.

101 spherical codes

Spherical code records
EntryOursPrevious bestStatus
N = 109, d = 180.1676202715190.167620272036listed
N = 110, d = 180.1684202172860.168420354627listed
N = 111, d = 180.1692485637740.169248610521listed
N = 77, d = 190.1127626381970.112762647688listed
N = 86, d = 200.1129075645590.112907857991listed
N = 87, d = 200.1129081534700.112908491648listed
N = 88, d = 200.1129096482410.112909650540listed
N = 89, d = 200.1129096708870.112909693772listed
N = 90, d = 200.1129120754240.112912295598listed
N = 54, d = 210.0666636442390.066663853221listed
N = 55, d = 210.0666659867150.066666055545listed
N = 58, d = 220.0666241887730.066624214466listed
N = 59, d = 220.0666505362440.066650782089listed
N = 60, d = 220.0666594742830.066659847970listed
N = 63, d = 220.0769005745260.076901515044listed
N = 64, d = 220.0769115815770.076914997582listed
N = 65, d = 220.0769233119150.076923314447listed
N = 54, d = 230.0476083977670.047608618840listed
N = 60, d = 230.0662694105790.066270318328listed
N = 61, d = 230.0664478548560.066448344541listed
N = 62, d = 230.0665511754740.066551990648listed
N = 67, d = 230.0767859939430.076786919884listed
N = 68, d = 230.0768892251960.076891127592listed
N = 73, d = 230.0819879920740.081988022906listed
N = 76, d = 230.0833088586560.083312231142listed
N = 77, d = 230.0833216713360.083322942411listed
N = 78, d = 230.0833287412410.083329842739listed
N = 79, d = 230.0833315889580.083331899393listed
N = 84, d = 230.0892473139460.089247322022listed
N = 71, d = 240.0769138588400.076916261172listed
N = 109, d = 240.1104733945690.110473427027listed
N = 65, d = 250.0640229174200.064023059784listed
N = 66, d = 250.0650371516870.065037684675listed
N = 67, d = 250.0662056500710.066206034211listed
N = 68, d = 250.0663736814890.066382704492listed
N = 71, d = 250.0717514936960.071751494072listed
N = 72, d = 250.0731832911450.073183293967listed
N = 79, d = 250.0784399385180.078439939068listed
N = 82, d = 250.0797061015790.079706316626listed
N = 94, d = 250.0898859915440.089886926092listed
N = 109, d = 250.0955417370330.095541930219listed
N = 55, d = 260.0399988001270.039998823360listed
N = 68, d = 260.0635573976020.063566535221listed
N = 69, d = 260.0649122350890.064912312965listed
N = 76, d = 260.0747950803920.074797298190listed
N = 78, d = 260.0768252613900.076830183084listed
N = 79, d = 260.0769037846580.076905277345listed
N = 80, d = 260.0769215266280.076923144687listed
N = 86, d = 260.0793654918140.079365497085listed
N = 96, d = 260.0858555995520.085856265348listed
N = 97, d = 260.0884693190160.088469338413listed
N = 70, d = 270.0629203868690.062920512188listed
N = 72, d = 270.0641293413540.064156764338listed
N = 74, d = 270.0662939029460.066298537397listed
N = 75, d = 270.0676918141680.067692400463listed
N = 77, d = 270.0723250787290.072325256490listed
N = 80, d = 270.0758869685570.076100396641listed
N = 81, d = 270.0765897121240.076590294576listed
N = 82, d = 270.0767756580930.076778465575listed
N = 83, d = 270.0767904513830.076799847675listed
N = 84, d = 270.0768239772200.076834258077listed
N = 91, d = 270.0797452662810.079746855333listed
N = 95, d = 270.0806841576500.080684181553listed
N = 99, d = 270.0841124542860.084112497386listed
N = 75, d = 280.0643571145670.064374628646listed
N = 76, d = 280.0647117375960.064711751358listed
N = 77, d = 280.0656313813240.065907662195listed
N = 84, d = 280.0759522701670.075952483304listed
N = 85, d = 280.0766078402340.076614614664listed
N = 87, d = 280.0767984341820.076799993641listed
N = 88, d = 280.0769200913560.076920728338listed
N = 94, d = 280.0793660088230.079366041498listed
N = 95, d = 280.0796487202310.079649162233listed
N = 96, d = 280.0799981411170.080006188634listed
N = 99, d = 280.0806276219380.080628081226listed
N = 104, d = 280.0846950071850.084695086895listed
N = 106, d = 280.0858301314490.086167575188listed
N = 82, d = 290.0683211426640.068547694244listed
N = 83, d = 290.0703551916350.070355413136listed
N = 89, d = 290.0764321146270.076432617937listed
N = 91, d = 290.0769492198540.076950752944listed
N = 102, d = 290.0802580828680.080258137137listed
N = 103, d = 290.0806474699620.080647606869listed
N = 104, d = 290.0806623038180.080662618816listed
N = 107, d = 290.0827802852000.082780285565listed
N = 80, d = 300.0623208686590.062498581860listed
N = 83, d = 300.0649577329860.065099117014listed
N = 97, d = 300.0771472136850.077147356932listed
N = 100, d = 300.0777677558070.077767758050listed
N = 103, d = 300.0785122715790.078512280682listed
N = 106, d = 300.0804758428470.080477209110listed
N = 107, d = 300.0806597862870.080660373476listed
N = 108, d = 300.0808117325390.080811777145listed
N = 111, d = 300.0822994905560.082299565829listed
N = 86, d = 310.0643620712870.064362086420listed
N = 89, d = 310.0685059574490.068506081822listed
N = 90, d = 310.0697202048880.069720206572listed
N = 99, d = 310.0768426680640.076844264811listed
N = 84, d = 320.0588713672370.058872175056listed
N = 87, d = 320.0615736262140.062109454391listed
N = 110, d = 320.0779784272490.077978641842listed

Questions

What is a spherical code?

A set of N points on the unit sphere in d dimensions chosen so that the smallest angle between any two of them is as large as possible, equivalently the largest cosine is as small as possible. The best codes matter in coding theory, signal design and the study of sphere packings.

Who keeps the table?

Henry Cohn, at spherical-codes.org. It lists the best known code for each dimension from 3 to 32 and up to 1,024 points, with the source of each.

Are these codes optimal?

Not proved. Optimal spherical codes are known only for a few sizes; these are the best known codes for their sizes, each better than the one listed before it.