What do you need to perform Karatsuba multiplication?

126 Views Asked by At

Karatsuba multiplication is usually defined in $\mathbb{N} \times \mathbb{N}$ and computes $$(aB^m+b)(cB^m+d)=acB^{2m} +[(a+b)(c+d)-ac-bd]B^m+bd$$ (where B is the base, usually 10) in only three multiplications and a few more additions.

But it turns out you can use this same approach to multiply complex numbers or polynomials. So it seems as long you can express every element of a set as $y=ax+b$ (with some more restrictions on the nature of this elements) you can apply the algorithm.

Now, the question is what must this elements hold? I'd say $a, b \in R$ are elements of a ring, but what properties are necessary for $x$ and its set? What kind of structures does this generate?

1

There are 1 best solutions below

1
On

One feature of karatsuba is that $0 \leq a,b,c,d < B$ so the karatsuba formula is close to the digit expansion once you implement the carries.

There are objects called graded rings such as $\mathbb{Z}[x]$ where distribution formula holds and this formula could be helpful.

However the integers arent really graded with respect to the base expansion. There is some "spillover" due to the carries.

A complex generalization could be have $|a |,|b|,|c|,|d|<B$ for some radius $B$.