仅使用三个乘法的复数乘积

我们进行复数乘法,如下所示:

(a + i * b) * (c + i * d) = (a * c - b * d) + i * (a * d + b * c)

结果的实部和虚部是

real part = (a * c - b * d)

imag part = (a * d + b * c)

这涉及四个实数乘法。仅用三个实数乘法怎么办?

回答:

您对两个数字感兴趣:A=ac−bdB=ad+bc。可计算三个实数乘法S1=acS2=bdS3=(a+b)(c+d)。现在,您可以将结果计算为

A=S1−S2B=S3−S1−S2

此过程称为Karatsuba乘法,在算法分析中大量使用。

它用于查找最接近的点对。

以上是 仅使用三个乘法的复数乘积 的全部内容, 来源链接: utcz.com/qa/399699.html

回到顶部