1 回答
TA贡献2065条经验 获得超13个赞
小心你的措辞:你得到的答案没有任何“错误”。您希望以不同的形式得到答案,这很好,但给出的答案是正确的。
如果您考虑高斯有理数,您可以得到您想要的形式:
In [41]: e = z**2 + z + Rational(1, 4)
In [42]: e
Out[42]:
2 1
z + z + ─
4
In [43]: factor(e)
Out[43]:
2
(2⋅z + 1)
──────────
4
In [44]: factor(e, gaussian=True)
Out[44]:
2
(z + 1/2)
In [45]: t.inv()
Out[45]:
⎡ 4⋅z + 4 -1 ⎤
⎢ ────────────── ─────────────────⎥
⎢ 2 ⎛ 2 ⎞⎥
⎢ 4⋅z + 4⋅z + 1 ⎜ z z 1 ⎟⎥
⎢ 4⋅⎜- ── - ─ - ──⎟⎥
⎢ ⎝ 4 4 16⎠⎥
⎢ ⎥
⎢ 1 4⋅z ⎥
⎢──────────────── ────────────── ⎥
⎢ ⎛ 2 1⎞ 2 ⎥
⎢4⋅⎜- z - z - ─⎟ 4⋅z + 4⋅z + 1 ⎥
⎣ ⎝ 4⎠ ⎦
In [46]: t.inv().applyfunc(lambda e: factor(e, gaussian=True))
Out[46]:
⎡ z + 1 1 ⎤
⎢ ────────── ──────────⎥
⎢ 2 2⎥
⎢ (z + 1/2) (z + 1/2) ⎥
⎢ ⎥
⎢ -1 z ⎥
⎢──────────── ──────────⎥
⎢ 2 2⎥
⎣4⋅(z + 1/2) (z + 1/2) ⎦
添加回答
举报