在分治算法求多项式乘法中,已知A(x)=2+3x+x^2+2x^3+x^4,B(x)= x+4x^2+2x^4
时间: 2023-10-21 13:04:32 浏览: 101
首先将A(x)和B(x)分别拆分成两个多项式的形式:
A(x) = 2 + 3x + x^2 + 2x^3 + x^4
B(x) = x + 4x^2 + 2x^4
将A(x)和B(x)分别拆分成两个多项式的形式,可以方便地进行分治算法的运算。接下来,我们将A(x)和B(x)分别拆分成两个多项式的形式:
A(x) = (2 + 3x + x^2) + (2x^3 + x^4)
B(x) = (x + 4x^2) + (2x^4)
然后,我们对这四个多项式进行递归式地计算:
P1 = (2 + 3x + x^2) * (x + 4x^2)
P2 = (2x^3 + x^4) * (x + 4x^2)
P3 = (2 + 3x + x^2) * (2x^4)
P4 = (2x^3 + x^4) * (2x^4)
然后,我们将这四个多项式合并成一个多项式:
P = P1 + (P2 + P3) * x^2 + P4 * x^4
最终得到的P(x)即为A(x)和B(x)的乘积:
P(x) = 2x^5 + 11x^4 + 16x^3 + 17x^2 + 6x
相关问题
在分治算法求多项式乘法中,已知A(x)=2+3x+x*2+2x*3+x*4,B(x)= x+4x*2+2x*4
首先将A(x)和B(x)补成相同长度,补0的方式可以参考高斯消元法中的矩阵消元。
A(x) = 2 + 3x + x^2 + 2x^3 + x^4 + 0x^5 + 0x^6
B(x) = x + 4x^2 + 2x^4 + 0x^3 + 0x^4 + 0x^5
接下来将A(x)和B(x)划分成两个多项式:
A1(x) = 2 + 3x + x^2
A2(x) = 2x^3 + x^4
B1(x) = x + 4x^2
B2(x) = 2x^4
然后分别对A1(x)和B1(x)、A2(x)和B2(x)进行乘法运算,得到四个中间结果:
C1(x) = A1(x) * B1(x) = 2x + 11x^2 + 12x^3 + 4x^4
C2(x) = A2(x) * B2(x) = 4x^7 + 8x^8
C3(x) = (A1(x) + A2(x)) * (B1(x) + B2(x)) = 2x + 11x^2 + 16x^3 + 28x^4 + 16x^5 + 8x^6
C4(x) = C3(x) - C1(x) - C2(x) = 12x^3 + 12x^4 + 16x^5 + 8x^6
最后将这四个中间结果组合起来得到最终结果:
A(x) * B(x) = C2(x) + C4(x) * x^3 + C1(x) * x^6
= 4x^7 + 8x^8 + 12x^6 + 12x^7 + 16x^8 + 8x^9 + 2x^6 + 11x^7 + 12x^8 + 4x^9
= 4x^7 + 20x^8 + 23x^9 + 12x^6 + 23x^7 + 16x^8 + 8x^9
阅读全文