How to solve multivariate inequalities with python and sympy?(如何用PYTHON和SUNSY解多元不等式?)
本文介绍了如何用PYTHON和SUNSY解多元不等式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对使用python和sympy非常陌生……并且得到了一个利用渐近性来解决多元不等式的问题。
假设我在一个文件中有许多函数,如下所示:
cst**(sqrt(x)/2)/cst
exp(sqrt(cst*x**(1/4)))
log(log(sqrt(cst + exp(x))))
(y**(1/4) + y)**cst
sqrt(y/log(x))/cst
sqrt(cst**log(cst) + x)
(y**2)**(x/4)
sqrt(y*sqrt(cst**y))
log(sqrt(2)*sqrt(cst)*x)
我需要对它们进行派生,设置常量的值,并检查对于每个函数f,
df/dx > 0
df/dy < 0
x在[0,+oo)中,y在[0,1]中。
要派生,我使用:
dx = diff(f, x)
dy = diff(f, y)
然后当我尝试时:
cst = 2 #(for example)
solve(dx > 0)
我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 634, in solve
symbols=symbols)
File "/usr/local/lib/python2.7/dist-packages/sympy/solvers/inequalities.py", line 374, in reduce_inequalities
raise NotImplementedError("only univariate inequalities are supported")
NotImplementedError: only univariate inequalities are supported
但如果我试一下:
x=Symbol('x', real=True, postive=True, nonzero=True)
y=Symbol('y', real=True, postive=True, nonzero=True)
solve(x**2+y > 0)
我收到:
True
哪一个是好的、可行的答案。 有没有办法解决多元不等式并总是得到一个可行的答案?
例如,我希望获得: 解算(x**2-y>0) 或(x>-Sqrt(Y),x>Sqrt(Y))
推荐答案
尝试使用SymPy解决此问题时,您会收到非常清楚的错误消息:NotImplementedError: only univariate inequalities are supported
。请注意,这意味着如果您提供解决此问题的算法,SymPy团队将非常高兴。
sympy.solve
显然不够强大,您可以尝试另一种方法。最近(在0.7.2中),一个隐式的绘图例程被添加到Sensy中,该例程可以绘制一个表达式的计算结果为True
的位置。遗憾的是,这只是一个数值解,不是solve
可以得到的符号解,但它可能已经足够了:
从图像中可以看到,只有一行表达式更改了符号,因此求解expr==0
可能会得到您想要的结果。事实的确如此:
这篇关于如何用PYTHON和SUNSY解多元不等式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何用PYTHON和SUNSY解多元不等式?


猜你喜欢
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01