我想知道关于 Katatsuba 算法的这个问题。当您应用 Karatsuba 时,您基本上必须在每次循环运行时进行 3 次乘法这些是(假设ab
和cd
分别是带有数字的 2 位数字a, b, c and d
):
X = bd
Y = ac
Z = (a+c)(c+d)
然后我们正在寻找的总和是:
bd = X
ac = Y
(bc + ad) = Z - X - Y
我的问题是:假设我们有两个 3 位数字:abc, def
. 我发现我们只需要执行 5 次乘法即可。我还发现了这个 Toom-3 算法,但它使用了我无法理解的多项式。有人可以写下这些乘法以及如何计算有趣的总和吗bd + ae, ce+ bf, cd + be + af