Умножение в столбик — простейший алгоритм умножения, который знаком всем с начальной школы. 1 Однако для компьютерных вычислений умножение — самая затратная по времени операция, и сложность алгоритма умножения длинных чисел оценивают числом коротких, «однозначных» умножений. 2
Чтобы оптимизировать компьютерные вычисления, математики разработали другие алгоритмы умножения, например:
- Алгоритм Карацубы. 12 В нём число шагов увеличивается не быстрее, чем N1,58 — это существенно меньше, чем N2. 1 Преимущество алгоритма проявляется, начиная с чисел, имеющих не менее 10 000 десятичных разрядов. 1
- Алгоритм Шёнхаге и Штрассена. 12 Этот метод основан на замене умножения больших чисел на умножение полиномов, для вычисления которых используется дискретное преобразование Фурье. 4
- Алгоритм Харви и Ван дер Хэвена. 1 Математики предполагают, что это, вероятно, и есть теоретически возможный предел скорости умножения, хотя строго доказать эту гипотезу им пока не удалось. 1
Таким образом, современные алгоритмы направлены на минимизацию вычислительной сложности операции умножения и ускорение реальных вычислений. 14