In this paper we give an algorithm to round the floating point output of a semidefinite programming solver to a solution over the rationals or a quadratic extension of the rationals. This algorithm does not require the solution to be strictly feasible and works for large problems. We apply this to get sharp bounds for packing problems, and we use these sharp bounds to prove that certain optimal packing configurations are unique up to rotations. In particular, we show that the configuration coming from the E8 root lattice is the unique optimal code with minimal angular distance π/3 on the hemisphere in R8, and we_prove that the three-point bound for the (3, 8, ϑ)-spherical code, where ϑ is such that cos ϑ = (2√2 - 1)/7, is sharp by rounding to Q[√2]. We also use our machinery to compute sharp upper bounds on the number of spheres that can be packed into a larger sphere.
- Hybrid numeric-symbolic algorithm
- Packing problems
- Semidefinite programming
- Spherical codes