gpt4 book ai didi

python - 将多项式 w(z) 转换为 w((1-z)/(1+z))

转载 作者:行者123 更新时间:2023-11-30 23:25:24 28 4
gpt4 key购买 nike

我正在编写一个代码,它以“代码”(编码理论)作为输入,并且我已经计算了它的权重枚举器。我想使用 MacWilliams Identity 找到双代码的权重枚举器.

我有W(z) ,代码的权重枚举器,我想将其转换为 W((1-z)/(1+z))使用Python。

最佳答案

如果您要以扩展方式使用多项式,则应该使用适当的计算机代数系统 (CAS)。 sympy非常适合这样的操作。例如:

from sympy import poly
from sympy.abc import x,z

W1 = poly(x**2 + 3*x)

# Evaluate the polynomial at x=(1-z)/(1+z)
W2 = W1((1-z)/(1+z))

print W1
print W2

>>> Poly(x**2 + 3*x, x, domain='ZZ')
>>> (-2*z**2 - 2*z + 4)/(z**2 + 2*z + 1)

您可以使用 sympy.simplify.expand 简化任何答案,例如:

import sympy

expr = (4*x**2 - 4*x + 4)*(x**3 + 3*x**2 + 3*x + 1)/(4*(x**2 + 2*x + 1))
print sympy.simplify(sympy.expand(expr))
>>> x**3 + 1

关于python - 将多项式 w(z) 转换为 w((1-z)/(1+z)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23013328/

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