如何在 sympy 中找到可接受的区域?

How to find a region of acceptability in sympy?

首先,对于“可接受区域”的机器翻译表示抱歉,我不确定这正是我的意思。 “可接受区域”必须告诉我 f(x) 存在的位置。

我正在使用 sumpy 编写一个脚本,它将给我一个完整的 f(x) 分析: f(x)=0d/dxf(x)=0、“可接受范围”等

我正在搜索 sympy 中的哪个函数以及如何正确使用它?

sympy 中有一个名为 singularities 的函数,它试图识别给定符号中表达式的奇点集:

In [21]: from sympy import *                                                                                                                   

In [22]: x = Symbol('x', complex=True)                                                                                                                       

In [23]: expr = x**2 / ((1 - x) * (2 + x**2))                                                                                                  

In [24]: expr                                                                                                                                  
Out[24]: 
        2       
       x        
────────────────
        ⎛ 2    ⎞
(1 - x)⋅⎝x  + 2⎠

In [25]: singularities(expr, x)                                                                                                                
Out[25]: {1, -√2⋅ⅈ, √2⋅ⅈ}

如果函数的更广域应该是实数,那么您可以使用集合减法从实数集中移除这些奇点:

In [26]: Reals - singularities(expr, x)                                                                                                        
Out[26]: (-∞, 1) ∪ (1, ∞)

您还可以将其转换为 x 上的关系:

In [27]: (Reals - singularities(expr, x)).as_relational(x)                                                                                     
Out[27]: x ≠ 1