The Karatsuba algorithm (KA) for multiplying two polynomials was introduced in 1962 [3]. It saves coefficient multiplications at the cost of extra additions compared to the schoolbook or ordinary multiplication method. The basic KA is performed as follows. Consider two degree-1 polynomials \(A(x)\) and \(B(x)\) with \(n=2\) coefficients:
Let \(D_0, D_1, D_{0,1}\) be auxiliary variables with
Then the polynomial \(C(x) = A(x) B(x)\) can be calculated in the following way:
This method requires three multiplications and four additions. The schoolbook method requires \(n^2\) multiplications and \((n-1)^2\) additions, i.e., four multiplications and one addition. Clearly, the KA can also be used to multiply integer numbers.
The KA can be generalized for polynomials of arbitrary degree [6]. The following algorithm describes a method to multiply two arbitrary polynomials with n coefficients using the one-iteration KA.
Algorithm 1....