gpt4 book ai didi

math - Python 多项式 pow

转载 作者:行者123 更新时间:2023-12-02 08:14:23 25 4
gpt4 key购买 nike

我有自己定义的多项式类,它是系数列表的形式。
有点像

axˆ2 + bx + c is equals to [c, b, a]
(for ax + b == [b, a]
similarly, for axˆ3 + bxˆ2 + cx + d == [d, c, b, a])

而list的len()取决于函数的索引。

我想定义一个自定义的 __pow__ 函数,但我真的不知道如何实现它。

最佳答案

这是一个函数,用于在将两个多项式相乘时获取它们的系数。

def multiply(a, b):
"""
polynomials where.
[a1, a2, a3] -> a1 + a2*x + a3*x^2
[b1, b2, b3] -> b1 + b2*x + b3*x^2
"""
c = [0.0]*(len(a) + len(b)-1)

for i in range(len(a)):
ai = a[i]
for j in range(len(b)):
c[i + j] += ai * b[j]

return c


x = [1, 1]
y = [2, 1, 0]
print(multiply(x, y))

显示 [2.0, 3.0, 1.0, 0]

然后制作一个 pow 函数来循环调用 multiply。

def pow(a, n):
"""
a^n
"""
c = [1]
for i in range(n):
c = multiply(c, a)
return c

x = [1, 1]
print(pow(x, 4))

按预期输出 [1.0, 4.0, 6.0, 4.0, 1.0]

关于math - Python 多项式 pow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com