Начнём с контактного числа: сколько единичных шаров могут одновременно касаться одного такого же. На плоскости их шесть. В пространстве Ньютон в 1694 году предположил, что двенадцать, — доказали это Шютте и ван дер Варден только в 1953-м, и доказали геометрически. Техника, о которой дальше, пришла позже и из другой области — из теории кодов
Центры касающихся шаров лежат на сфере радиуса 2; уменьшив расстояния вдвое, считаем их точками $x_1,\dots,x_N$ единичной сферы в $\mathbb{R}^n$, попарные углы между которыми не меньше 60 градусов. Косинус угла есть скалярное произведение $t=\langle x_i,x_j\rangle$, так что условие на угол записывается как $t\le\tfrac12$
Нам понадобятся многочлены Гегенбауэра $P_k$ — в размерности $n$ есть ровно одна последовательность многочленов степени $k$ с двумя свойствами:
$$\int_{-1}^{1} P_k(t)P_m(t)\,(1-t^2)^{\frac{n-3}{2}}\,dt=0\ \ \text{при } k\ne m,\qquad P_k(1)=1$$
Из нормировки, в частности, $P_0\equiv1$. По теореме Шёнберга эти многочлены положительно определены: для любых точек сферы сумма $\sum_{i,j}P_k(\langle x_i,x_j\rangle)$ неотрицательна
Неизвестные здесь — коэффициенты $c_k$, и оба условия линейны по ним: отсюда и название метода, линейное программирование. Отсюда следует такое утверждение. Возьмём числа $c_0=1$ и $c_k\ge0$, положим $f=\sum_k c_kP_k$ и предположим, что $f$ неположительна при $t\le\tfrac12$. Тогда контактное число $k(n)$ не больше $f(1)$:
$$f=\sum_{k\ge 0}c_kP_k,\quad c_0=1,\ c_k\ge 0,\quad f(t)\le 0\ \text{ при } t\le \tfrac12\ \Longrightarrow\ k(n)\le f(1)$$
Доказательство — оценка суммы $S=\sum_{i,j}f(\langle x_i,x_j\rangle)$ по тем же $N$ точкам с двух сторон
- Сверху. Недиагональные слагаемые неположительны: их аргумент не больше $\tfrac12$, а там $f\le0$. Диагональных ровно $N$, каждое равно $f(1)$. Значит $S\le Nf(1)$
- Снизу. Разложим $f$ по $P_k$ и поменяем порядок суммирования. Слагаемое с номером $k$ равно $c_k\sum_{i,j}P_k$ и неотрицательно по Шёнбергу, а слагаемое с $k=0$ даёт $c_0N^2=N^2$ — здесь и работает нормировка $P_0\equiv1$. Значит $S\ge N^2$
- Вместе. $N^2\le S\le Nf(1)$, откуда $N\le f(1)$
Оценка тем сильнее, чем меньшую $f(1)$ удаётся подобрать. В размерности 3 лучшее, что даёт этот метод, — около 13: до двенадцати он не дотягивает, и это его первая осечка. Зато в других размерностях он попадает точно
В 1978 году Кабатянский и Левенштейн перенесли схему с контактного числа на плотность упаковки — перенос не автоматический и составляет содержание их работы. Результат: плотность не больше $2^{-(0{,}5990558\ldots+o(1))n}$, и сорок восемь лет этот показатель никто не улучшал
Через год та же техника дала не оценку, а точный ответ — снова для контактного числа, но в размерностях 8 и 24, где оно равно 240 и 196560. Здесь удалось то, что не удалось в размерности 3: подобранная функция даёт оценку сверху, решётки $E_8$ и Лича — пример снизу, и числа совпали. Результат независимо получили Левенштейн и Одлыжко со Слоаном в 1979 году, за тридцать семь лет до Вязовской
Что почитать и посмотреть