Apologies if this is a trivial question. If that is the case I imagine I would benefit from someone explaining where my understanding is lacking.
I am having some trouble interpreting the (putatively optimal) spherical codes listed on the website of N. Sloane here.
For example, the first coordinate for the best known spherical code in dimension 5 for 40 points is listed here as
7.071067811865475700e-01 7.071067811865475700e-01 -2.531063763564293100e-21 2.856464746130754600e-21 8.243943086078260200e-21
This is supposed to lie on the 5-dimensional unit hypersphere, so its norm should be one.
If I test this with
a = np.array([7.071067811865475700e-01, 7.071067811865475700e-01, -2.531063763564293100e-21, 2.856464746130754600e-21, 8.243943086078260200e-21])
I get that
np.linalg.norm(a) == 1.0
True, which seems good. But then I find that
np.linalg(a[0:2]) == 1.0
True. So it seems that the other numbers are too small for
I have played around with e.g. using
dtype=np.longdouble, but that seems to make the problem worse, as the norm is then calculated to be
I assume the the issue is simply that we are dealing with finite precision arithmetic, so we cannot expect to obtain 'exactly' one. If that is the case, what computational method can be used to confirm that the linked configuration is, in fact, a good spherical code? Alternatively, I imagine pointing me at (or outlining!) the algorithm used to generate these spherical codes would probably also clear up my confusion - they do not appear to be listed on the website.
edit: I was going to delete this question, as it is insufficiently well-posed, but site policy discourages deleting questions that have received upvoted answers, so I will leave it here. A new, hopefully better formulated question, can be viewed here.