You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Sympy求解含&与|的约束系统及二次方程约束问题

使用SymPy求解含逻辑与(&)、逻辑或(|)的约束系统

原始需求

需通过SymPy求解包含逻辑与(&)、逻辑或(|)的约束系统,具体场景示例如下:

逻辑与场景

from sympy import *
var('x', reals=True)
formula = (x < 0) & (x < 2)
print(solve(formula))
# 期望输出:[x < 0]

逻辑或场景

from sympy import *
var('x', reals=True)
formula = (x > 0) | (x < 2)
print(solve(formula))
# 期望输出:[],即x ∈ (-∞, +∞)

已知存在若干变通实现方式,但会显著提升程序复杂度。

更新需求

参考Oscar Benjamin的解答后,需进一步支持二次方程约束场景的求解,示例如下:

from sympy import *
var('x', reals=True)
range = (x > 2) | (x < 0)
equation = Eq(x ** 2 - 1, 0)
print(simplify(equation & range))
# 期望输出:[Eq(x, -1)]

内容的提问来源于stack exchange,提问作者Qinshi Wang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:12:02