如何在给定次数和变量的情况下创建多项式



我想在Python中创建一个多项式,给定所涉及的次数和变量。我期待这样的东西:

second_order_polynomial = create_polynomial(['x', 'y'], order=2)

其中second_order_polynomial是一个函数,用于计算xy的二阶多项式给定值。对我来说,系数实际上无关紧要,只有变量的顺序/幂。所以args可以全部设置为 1,但也许将其保留为参数会提高问题的普遍性:

def second_order_polynomial(x, y, *args) -> float:
return args[0] * x**2 + args[1] y**2 + args[2] * x*y + args[3] 

理想情况下,create_polynomial适用于任意数量的变量和度数。我想避免使用符号工具箱。

这个问题类似于处理Mathematica而不是Python的问题: 来自 Mathematica StackExchange 的相关问题

看这个:

def foo(order, li):
result = 0
l = len(li)
if order != len(li):
raise Exception('Wrong order specified')
else:
while(order > 0):
result += li[l - order] ** order
order -=1
return result
print(foo(5, [7, 5, 3, 2, 1])) # 7**5 + 5**4 + 3**3 + 2**2 + 1**1

相关内容

最新更新