Resolve
更多信息和选项
- Resolve 实际上是自动地被 Reduce 应用.
- expr 可以包含方程式,不等式,域的设定和量词,和在 Reduce 中形式一样.
- 语句 expr 可以是下面任何的逻辑组合:
-
lhs==rhs 方程 lhs!=rhs 不等式 lhs>rhs 或者 lhs>=rhs 不等式 expr∈dom 域指定 {x,y,…}∈reg 区域指定 ForAll[x,cond,expr] 通用量词 Exists[x,cond,expr] 存在量词 - Resolve[expr] 的结果总是描述和 expr 完全一样的数学问题,但没有量词.
- 默认下,Resolve[expr] 假定以代数形式出现在不等式中量是实数,而所有其他的量是复数.
- 当一个量词如 ForAll[x,…] 被消去后,其结果将不提及局部变量 x.
- 如果 expr 仅包含实数或复数域上的多项式方程和不等式,则 Resolve[expr] 原则上总可以消除量词.
- 对于任何布尔表达式 expr,Resolve[expr] 原则上总可以消除量词.
范例
打开所有单元 关闭所有单元基本范例 (4)
Resolve[Exists[{x, y}, x ^ 2 + y ^ 2 < 1]]Resolve[ForAll[x, ax ^ 2 + bx + c > 0], Reals]Resolve[Exists[{x, y}, a x ^ 2 + b x + c == 0 && a y ^ 2 + b y + c == 0 && x ≠ y]]Resolve[Exists[z, {x, y, z}∈Cylinder[{{0, 0, 0}, {1, 1, 1}}, 2]], Reals]RegionPlot[%, {x, -2, 3}, {y, -2, 3}]范围 (52)
复域 (6)
Resolve[Exists[x, x ^ 7 + 3 x - 11 == 0]]Resolve[Exists[{x, y}, x ^ 2 + y ^ 2 == 1 && x ^ 3 - y ^ 2 == 2 && x y ≠ 3]]Resolve[ForAll[{a, b, c}, Exists[x, a x ^ 2 + b x + c == 0]]]Resolve[ForAll[{b, c}, Exists[x, x ^ 2 + b x + c == 0]]]Resolve[Exists[x, (a ^ 2 - b ^ 3 + 1)x ^ 7 + (a ^ 2 - a b + 1) x ^ 2 - 3 == 0]]Resolve[Exists[{x, y}, a x ^ 2 + b y ^ 2 == 1 && b x - a y == 2 && x ≠ y]]Resolve[ForAll[c, Exists[x, a x ^ 2 + b x + c == 0]]]实域 (18)
Resolve[Exists[x, x ^ 7 + 3 x - 11 == 0], Reals]Resolve[Exists[x, x ^ 4 + 3 x + 11 ≤ 0], Reals]Resolve[Exists[{x, y}, x ^ 2 + y ^ 2 ≤ 11 && x ^ 3 - y ^ 2 == 2 && x y > 3], Reals]Resolve[ForAll[{a, b, c}, Exists[x, a x ^ 2 + b x + c ≥ 0]], Reals]Resolve[ForAll[{b, c}, Exists[x, x ^ 2 + b x + c ≥ 0]], Reals]Resolve[Exists[x, Exp[x] - 2x Log[x] + 3x ^ x == 4], Reals]Resolve[Exists[x, x ^ Sqrt[Pi] - 2Log[1 / (x ^ 2 + 1)] + E ^ x < 1], Reals]Resolve[Exists[x, -1 < x < 1, Sin[Sin[Sin[x]]] - x == 1 / 7], Reals]Resolve[Exists[x, 1 < x < 2, Gamma[x] - BesselJ[2, x] == x + 1], Reals]Resolve[Exists[x, Exp[Sin[x]] - Sin[3 Cos[x]] == Tan[x]], Reals]对第一个变量是指数-对数函数,其他变量是多项式的完全量化的公式:
Resolve[Exists[x, ForAll[y, E ^ x y ^ 3 + Log[x]y == 1 && x y + E ^ x / x ≥ 2]], Reals]Resolve[Exists[{x, y}, y ^ 2 E ^ E ^ x - y E ^ x - x == 1], Reals]Resolve[ForAll[x, -1 < x < 0, Exists[y, Sin[x - Cos[x]] y ^ 3 - x == 1]], Reals]Resolve[Exists[{x, y}, Sin[x - Exp[x]] y ^ 3 - x == 2 && x ^ 2 + y ^ 2 ≤ 1], Reals]Resolve[ForAll[x, -1 < x < 1, Exists[y, y ^ 3 - BesselJ[2, x + 2] y - y - 3 x == -2]], Reals]Resolve[Exists[{x, y}, 1 < x < 2 && Gamma[x] y ^ 2 - x == -5], Reals]Resolve[Exists[{x, y}, a x + b y ≥ 1 && (a ^ 2 - b)x - (a - b ^ 2)y == 2], Reals]Resolve[Exists[x, a x ^ 2 + b x + c ≥ 0 && c x ^ 2 + a ^ 3 - b ^ 3 == 2], Reals]Resolve[Exists[{x, y}, a x ^ 4 + b y ^ 4 == 1 && x - a y ^ 3 ≥ 2], Reals]Resolve[ForAll[c, Exists[{x, y}, a x + b y + c == 0 && c x + a y ≥ b]], Reals]Resolve[ForAll[c, c ^ 2 < a ^ 2 - b ^ 3, Exists[x, a x ^ 2 + b x + c == 0]], Reals]Resolve[ForAll[y, Exists[x, (a ^ 2 - 1)x y - (2 a - 1) y ^ 4 + a ^ 3 ≥ 2]], Reals]整数域 (10)
Resolve[Exists[{x, y, z}, 2 x + 3y - 5z == 1 && 3x - 4y + 7z == 3], Integers]Resolve[Exists[{x, y, z}, 2 x + 3y == 4 && 3x - 4y ≤ 5 && x - 2y > -21], Integers]Resolve[Exists[x, x ^ 1000 - 2x ^ 777 + 1 == 0], Integers]Resolve[Exists[x, x ^ 5 - 2x + 1 < 0], Integers]Resolve[Exists[{x, y, z, t}, 1221x + 3434y + 5566z + 8778t == 90909 && x ≥ 0 && y ≥ 0 && z ≥ 0 && t ≥ 0], Integers]Resolve[Exists[{x, y, z, t}, 1221x + 3434y + 5566z + 8778t == 909090 && x ≥ 0 && y ≥ 0 && z ≥ 0 && t ≥ 0], Integers]Resolve[Exists[{x, y}, x ^ 2 + x y + y ^ 2 == 107], Integers]Resolve[Exists[{x, y}, x ^ 2 - 3y ^ 2 == 22 && x > 0 && y > 0], Integers]Resolve[Exists[{x, y}, x ^ 3 - 2x ^ 2 y + y ^ 3 == 2], Integers]Resolve[Exists[{x, y, z, t}, x ^ 2 + 4y ^ 2 + 9z ^ 2 + 16t ^ 2 == 354], Integers]Resolve[Exists[{x, y, z}, x ^ 4 + y ^ 4 + z ^ 4 ≤ 500 && x + y ^ 2 + z ^ 3 == 32], Integers]Resolve[Exists[{x, y}, Mod[x ^ 2 + y ^ 2, 2] == 1 && Mod[x - 2y, 3] == 2], Integers]布尔域 (2)
有限域 (5)
ℱ = FiniteField[53, 4];
Resolve[Exists[x, x ^ 5 + ℱ[123]x == ℱ[234]]]Resolve[Exists[x, x ^ 9 + 2 x + 3 == 0], ℱ]ℱ = FiniteField[3, 2];
Resolve[ForAll[x, x ^ 8 == x], ℱ]ℱ = FiniteField[71, 2];
Resolve[Exists[{x, y}, ℱ[123]x + ℱ[234]y == ℱ[345] && ℱ[321]x + ℱ[432]y == ℱ[543]]]Resolve[Exists[{x, y, z}, ℱ[1234]x + ℱ[2345]y + ℱ[3456]z == ℱ[4567] && ℱ[1]x + ℱ[2]y + ℱ[3]z == ℱ[4] && ℱ[2471]x + ℱ[4696]y + ℱ[1809]z == ℱ[123]]]ℱ = FiniteField[7, 5];
Resolve[Exists[{x, y, z}, x ^ 2 + y ^ 2 + z ^ 2 == 21], ℱ]Resolve[Exists[{x, y, z}, ℱ[321]x ^ 3 + ℱ[432]y ^ 3 + ℱ[543]z ^ 3 == ℱ[654] && x ^ 2 == ℱ[333]y z + ℱ[111]]]ℱ = FiniteField[2, 5];
Resolve[Exists[z, ℱ[1]x + ℱ[3]y + ℱ[5]z == ℱ[7] && ℱ[21]x + ℱ[23]y + ℱ[25]z == ℱ[27]]]Resolve[Exists[{y, z}, ℱ[1]x ^ 2 + ℱ[2]y ^ 3 + ℱ[3]z ^ 4 == ℱ[4] && ℱ[5]x ^ 4 + ℱ[6]y ^ 3 + ℱ[7]z ^ 2 == ℱ[8] && x y z != ℱ[0]]]混合域 (3)
Resolve[Exists[{x, y}, Element[x, Reals], x ^ 2 + y ^ 2 == -1]]决定一个含有 Abs[x] 的不等式解的存在性:
Resolve[Exists[x, Abs[x] ^ 2 - 3Abs[x] < 1]]Resolve[Exists[x, Element[x, Reals], y ^ 4 == x]]几何区域 (8)
Subscript[ℛ, 1] = Rectangle[];
Subscript[ℛ, 2] = Disk[{0, 0}, 2];Resolve[Subscript[∀, {x, y}, {x, y}∈Subscript[ℛ, 1]]{x, y}∈Subscript[ℛ, 2], Reals]Subscript[ℛ, 1] = Rectangle[];
Subscript[ℛ, 2] = Disk[{0, 0}, r];Resolve[Subscript[∀, {x, y}, {x, y}∈Subscript[ℛ, 1]]{x, y}∈Subscript[ℛ, 2], Reals]ℛ = Cone[{{3, 2, 1}, {1, 2, 3}}, 1];Resolve[Exists[z, {x, y, z}∈ℛ], Reals]RegionPlot[%, {x, 0, 4}, {y, 0, 4}]ℛ = ImplicitRegion[a + 2 b - 3 c ≥ 1 && a b c == 7, {a, b, c}];Resolve[Subscript[∃, z, {x, y, z}∈ℛ]x^2 + y z == 1, Reals]ℛ = ParametricRegion[{s^2, t^2, s t}, {s, t}];Resolve[Subscript[∃, {y, z}](x^2 + y^2 + z^2 == 1 && {x, y, z}∈ℛ), Reals]ℛ = RegionIntersection[Ball[{0, 0, 0}, 2], Ball[{1, 1, 1}, 2]];Resolve[Subscript[∃, z]{x, y, z}∈ℛ, Reals]RegionPlot[%, {x, -2, 3}, {y, -2, 3}]Subscript[ℛ, 1] = InfiniteLine[{{2, 0}, {0, t}}];
Subscript[ℛ, 2] = Circle[];Resolve[Subscript[∃, {x, y}, {x, y}∈Subscript[ℛ, 1]]{x, y}∈Subscript[ℛ, 2], Reals]Graphics[{Table[{If[%, Green, Red], Subscript[ℛ, 1]}, {t, -2, 2, 0.5}], {Blue, Subscript[ℛ, 2]}}]Subscript[ℛ, 1] = Disk[{a, b}];
Subscript[ℛ, 2] = Triangle[{{0, 0}, {0, 5}, {7, 0}}];Resolve[Subscript[∀, {x, y}, {x, y}∈Subscript[ℛ, 1]]{x, y}∈Subscript[ℛ, 2], Reals]Graphics[{{Blue, Subscript[ℛ, 2]}, Table[If[%, {Opacity[0.8], Green, Subscript[ℛ, 1]}, {Opacity[0.2], Red, Subscript[ℛ, 1]}], {a, 0, 6}, {b, 0, 4}]}]Subscript[ℛ, 1] = Sphere[];
Subscript[ℛ, 2] = InfinitePlane[{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}];Resolve[Subscript[∃, x, x∈Subscript[ℛ, 1]](y∈Subscript[ℛ, 2] && x.y == 1), Reals]选项 (5)
Backsubstitution (1)
Resolve[Exists[z, x y + z ^ 4 - z == 1 && x ^ 2 + y ^ 2 + z ^ 3 == 10 && a(x ^ 2 - x y + y) ^ 2 ≤ 0 && a > 0], Reals]设置 Backsubstitution->True 后, Resolve 给出 x 的明确数值值:
Resolve[Exists[z, x y + z ^ 4 - z == 1 && x ^ 2 + y ^ 2 + z ^ 3 == 10 && a(x ^ 2 - x y + y) ^ 2 ≤ 0 && a > 0], Reals, Backsubstitution -> True]Cubics (1)
Method (1)
下面在本地设置 "InequalitySolvingOptions" 和 "ReduceOptions" 中的系统选项:
Resolve[Subscript[∃, x](a x^2 + b x + c) (c x^2 + b x + a) <= 0, Reals, Method -> {"QuadraticQE" -> False}]//AbsoluteTiming默认情况下,Resolve 在此处使用了虚拟代入算法的二次情况:
Resolve[Subscript[∃, x](a x^2 + b x + c) (c x^2 + b x + a) <= 0, Reals]//AbsoluteTimingQuartics (1)
WorkingPrecision (1)
Resolve[Exists[{x, y, z}, x ^ 8 + 2y ^ 8 + 3z ^ 8 ≤ 1 && x ^ 3 - 9y ^ 3 + 7z ^ 3 - x y z ≥ 10], Reals]//Timing设置 WorkingPrecision->100 ,我们更快地得到答案,但它有可能不正确:
Resolve[Exists[{x, y, z}, x ^ 8 + 2y ^ 8 + 3z ^ 8 ≤ 1 && x ^ 3 - 9y ^ 3 + 7z ^ 3 ≥ 10], Reals, WorkingPrecision -> 100]//Timing应用 (9)
多项式 (2)
定理证明 (3)
Resolve[ForAll[{a, b}, a > 0 && b > 0, (a + b) / 2 ≥ Sqrt[a b]], Reals]Resolve[ForAll[{a, b, c, d}, a > 0 && b > 0 && c > 0 && d > 0, a c + b d ≤ Sqrt[a ^ 2 + b ^ 2]Sqrt[c ^ 2 + d ^ 2]], Reals]Resolve[ForAll[{a, b, c, d}, Sqrt[(a + c) ^ 2 + (b + d) ^ 2] ≤ Sqrt[a ^ 2 + b ^ 2] + Sqrt[c ^ 2 + d ^ 2]], Reals]几何 (4)
区域
是
的子集,如果
为真,则
. 证明 Disk[{0,0},{2,1}] 是 Rectangle[{-2,-1},{2,1}]的子集:
ℛ = Disk[{0, 0}, {2, 1}];
𝒮 = Rectangle[{-2, -1}, {2, 1}];Resolve[Subscript[∀, {x, y}]{x, y}∈ℛ{x, y}∈𝒮, Reals]Graphics[{{StandardBlue, EdgeForm[Thick], 𝒮}, {StandardYellow, EdgeForm[Thick], ℛ}}]表明 Cylinder[]⊆Ball[{0,0,0},2]:
ℛ = Cylinder[];
𝒮 = Ball[{0, 0, 0}, 2];Resolve[Subscript[∀, {x, y, z}]{x, y, z}∈ℛ{x, y, z}∈𝒮, Reals]Graphics3D[{{Opacity[0.3], 𝒮}, {LightBlue, EdgeForm[Gray], ℛ}}]如果
,则区域
与
不相交. 证明 Circle[{0,0},2] 与 Disk[{0,0},1] 不相交:
ℛ = Circle[{0, 0}, 2];
𝒮 = Disk[{0, 0}, 1];With[{p = {x, y}}, Resolve[Subscript[∃, p](p∈ℛ∧p∈𝒮), Reals]]Graphics[{{StandardBlue, EdgeForm[Thick], 𝒮}, {Thick, ℛ}}]如果
,区域
与
相交. 证明 Circle[{0,0},1] 与Disk[{1/2,0},1] 相交:
ℛ = Circle[{0, 0}, 1];
𝒮 = Disk[{1 / 2, 0}, 1];With[{p = {x, y}}, Resolve[Subscript[∃, p](p∈ℛ∧p∈𝒮), Reals]]Graphics[{{StandardBlue, EdgeForm[Thick], 𝒮}, {Thick, ℛ}}]属性和关系 (5)
对于完全量化的方程和不等式系统, Resolve 和 Reduce 是等价的:
Resolve[Exists[{x, y}, x ^ 2 + y ^ 2 ≤ 3 && x ^ 3 - y ^ 2 == 1]]Reduce[Exists[{x, y}, x ^ 2 + y ^ 2 ≤ 3 && x ^ 3 - y ^ 2 == 1]]可以用 FindInstance 求得一个解的实例:
FindInstance[x ^ 2 + y ^ 2 ≤ 3 && x ^ 3 - y ^ 2 == 1, {x, y}]对于含有自由变量的系统, Resolve 可能会返回一个未解的系统:
Resolve[Exists[x, x ^ 2 - 2a x + b < 0 && 2x > a + b ^ 2 - 1], Reals]Reduce 则消去量词并求解所得的系统:
Reduce[Exists[x, x ^ 2 - 2a x + b < 0 && 2x > a + b ^ 2 - 1], {a, b}, Reals]Eliminate 可用于消去复数多项式方程系统的变量:
eqns = x z == y && x ^ 2 + x ^ 2z ^ 2 == 1;
Eliminate[eqns, z]Resolve 给出同样的方程,但也有可能给出不等式:
Resolve[Exists[z, eqns]]求 TransformedRegion 的公式描述:
f = Evaluate[{Indexed[#, 1] Indexed[#, 2], Indexed[#, 1] + Indexed[#, 2]}]&;
Subscript[ℛ, 1] = Disk[{0, 0}];
Subscript[ℛ, 2] = TransformedRegion[Subscript[ℛ, 1], f]Subscript[c, 1] = Resolve[Exists[{u, v}, {u, v}∈Subscript[ℛ, 1], And@@Thread[{x, y} == f[{u, v}]]], Reals]使用 RegionMember,计算
的公式描述:
Subscript[c, 2] = RegionMember[Subscript[ℛ, 2], {x, y}]Resolve[Subscript[∀, {x, y}](Subscript[c, 1]⧦Subscript[c, 2]), Reals]Resolve 证明多项式
非负:
f = x ^ 2 + 2y ^ 2 + 3 z ^ 2 - x y - x z - y z;Resolve[ForAll[{x, y, z}, f >= 0], Reals]有 PolynomialSumOfSquaresList 将
表示为平方和:
PolynomialSumOfSquaresList[f, {x, y, z}]f - %.%//Expandm = x ^ 4 y ^ 2 + x ^ 2 y ^ 4 - 3 x ^ 2 y ^ 2 + 1;Resolve[ForAll[{x, y}, m >= 0], Reals]PolynomialSumOfSquaresList[m, {x, y}]技术笔记
-
▪
- 量词 ▪
- 复多项式系统 ▪
- 实多项式系统 ▪
- 关于内部实现的一些注释:代数与微积分
历史
2003年引入 (5.0) | 在以下年份被更新:2014 (10.0) ▪ 2024 (14.0)
文本
Wolfram Research (2003),Resolve,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Resolve.html (更新于 2024 年).
CMS
Wolfram 语言. 2003. "Resolve." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/Resolve.html.
APA
Wolfram 语言. (2003). Resolve. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Resolve.html 年
BibTeX
@misc{reference.wolfram_2026_resolve, author="Wolfram Research", title="{Resolve}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Resolve.html}", note=[Accessed: 01-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_resolve, organization={Wolfram Research}, title={Resolve}, year={2024}, url={https://reference.wolfram.com/language/ref/Resolve.html}, note=[Accessed: 01-November-2026]}