我知道 Karatuba 的算法和其他更有效的方法来将两个大型多项式或整数相乘。
我也知道 Karatsuba 有一个“中间产品”版本,它只计算产品的中间位(或数字)更有效。
但是有没有一种有效的方法来计算一个产品的最重要的一半?
例如,如果我有两个 n 位(n 位)数字(或 GF(2)[x] 中的多项式)a
并且b
,我如何有效地计算 n 个最高有效位p = a*b
(比计算所有 2n 位(或 2n -1 位) 的p
)
我知道 Karatuba 的算法和其他更有效的方法来将两个大型多项式或整数相乘。
我也知道 Karatsuba 有一个“中间产品”版本,它只计算产品的中间位(或数字)更有效。
但是有没有一种有效的方法来计算一个产品的最重要的一半?
例如,如果我有两个 n 位(n 位)数字(或 GF(2)[x] 中的多项式)a
并且b
,我如何有效地计算 n 个最高有效位p = a*b
(比计算所有 2n 位(或 2n -1 位) 的p
)