Karatsuba
Karatsuba's algorithm is a fast multiplication method for large integers. It was discovered in 1960 by Anatolii A. Karatsuba and Sergei Ofman while working at the Moscow Institute. The algorithm reduces the number of recursive multiplications required when multiplying two integers, offering a significant improvement over the traditional grade-school approach for sufficiently large numbers.
Idea: express each number in base B as x = a1 B^m + a0 and y = b1 B^m +
Complexity: The recurrence T(n) = 3 T(n/2) + O(n) yields T(n) = O(n^{log2 3}) ≈ O(n^{1.585}). This beats the naive
In practice, Karatsuba is used in many arbitrary-precision arithmetic libraries and computer algebra systems. It forms