Sympy不会简化自然平方数的平方根

维拉

进入时

sympy.simplify(sympy.sqrt(3)/3)

它返回:sqrt(3)/ 3而不是1 / sqrt(3)
如何获得简化的表达式?
特别是对于较大的数字,将非常有用。

sympy.simplify(3/sympy.sqrt(3))

起作用,所以我认为优先考虑从分母中删除根吗?我该如何改变?

超中微子

由于sympy使用了象征性的东西,因此它sqrt(3) / 3就像输出格式一样被打印在内部,sqrt(3) / 3与没什么不同1 / sqrt(3)因此,在计算上,并没有真正的区别。

如果要显示翻转,可以尝试对顶部和底部进行平方,将其表示为分子和分母,然后分别对它们平方根,如下所示:

def stringify(frac):
    if frac<0:
        sign_str = "-"
    else:
        sign_str = ""
    frac = frac ** 2
    numer, denom = frac.as_numer_denom()
    return sign_str + str(sympy.sqrt(numer)) + "/" + str(sympy.sqrt(denom))

在线尝试!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档