sympy平方根:对有理数进行运算的最佳方法?

问题描述

因为我想简化平方根,所以我遇到了这个解决方法

${user.Url}

但是它太慢了,我认为这不是最合适的方法 那么有没有其他方法可以处理平方根并简化它们 - 自动 -

解决方法

SymPy 自动将有理参数简化为 sqrt,但可以以不明确有理的方式编写有理数(如您之前的帖子所述):

>>> eq
sqrt((-9/10 + 6*sqrt(3)/5)**2 + (6/5 + 9*sqrt(3)/10)**2)

sqrt 只会简化显式的 Rational 参数。论证基础的扩展表明它是一个 Rational,sqrt 将简化它:

>>> eq.base.expand()
9
>>> sqrt(9) == 3
True

在需要展平涉及幂的表达式的情况下,比 expand 更好的是 _mexpand 函数:

>>> from sympy.core.function import _mexpand as flat
>>> flat(eq)
3

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...