2024-04-18 23:21:01 发布
网友
由于我希望平方根简化,我遇到了以下解决方法:
from sympy import sqrt, factor, simplify _sqrt = sqrt sqrt = lambda x: factor(simplify(_sqrt(x))) # do maths operations with sqrt...
但是它太慢了,我认为这不是一个人能使用的最合适的方法 那么,有没有其他方法可以处理平方根并自动简化它们
Symphy会自动将有理参数简化为sqrt,但也可以以不显式有理的方式编写有理数(如您之前的文章所示):
sqrt
>>> eq sqrt((-9/10 + 6*sqrt(3)/5)**2 + (6/5 + 9*sqrt(3)/10)**2)
sqrt只会简化显式的Rational参数。扩展参数的基础表明它是一个有理数,sqrt将简化它:
>>> eq.base.expand() 9 >>> sqrt(9) == 3 True
在需要展平包含幂的表达式的情况下,比expand更好的是_mexpand函数:
expand
_mexpand
>>> from sympy.core.function import _mexpand as flat >>> flat(eq) 3
Symphy会自动将有理参数简化为
sqrt
,但也可以以不显式有理的方式编写有理数(如您之前的文章所示):sqrt
只会简化显式的Rational参数。扩展参数的基础表明它是一个有理数,sqrt
将简化它:在需要展平包含幂的表达式的情况下,比
expand
更好的是_mexpand
函数:相关问题 更多 >
编程相关推荐