FullSimplify[expr]
在包括初级和特殊函数的 expr 中尝试各种不同的变换,并且返回它所找到的最简形式.
FullSimplify[expr,assum]
用假设进行化简.
FullSimplify
FullSimplify[expr]
在包括初级和特殊函数的 expr 中尝试各种不同的变换,并且返回它所找到的最简形式.
FullSimplify[expr,assum]
用假设进行化简.
更多信息和选项
- FullSimplify 总是至少产生和 Simplify 一样简单的形式,但本质上可能花更多时间.
- FullSimplify 在表达式中使用包含 Root 对象的 RootReduce.
- FullSimplify 在大多数类型的特殊函数中进行变换.
- 通过形式为 ForAll[vars,axioms] 的假设,FullSimplify 可以化简表达式和方程,包括特殊函数. »
- 您可以用 Assuming 来为 FullSimplify 指定默认假设.
- 可以给出下面的选项:
-
Assumptions $Assumptions 添加到 assum 上的默认假设 ComplexityFunction Automatic 如何评价产生的每种形式的复杂度 ExcludedForms {} 用来指定不应当被触及的子表达式形式的模式 TimeConstraint Infinity 在进行一个特殊变换时所用的秒数 TransformationFunctions Automatic 尝试进行表达式变换所用的函数 Trig True 是否进行三角变换及代数变换 - 假设可以由方程、不等式、定义域(如 x∈Integers)以及它们的逻辑组合组成.
- 当设置为 TimeConstraint->{tloc,ttot} 时,用于任意具体变换的时间至多为 tloc 秒,并且在返回最佳结果之前,用于所有变换的时间至多为 ttot 秒.
- FullSimplify 可与符号数组表达式一起使用.
范例
打开所有单元 关闭所有单元基本范例 (3)
范围 (9)
FullSimplify[x ^ 3 - 6x ^ 2 + 11x - 6]FullSimplify[(x ^ 10 - 1)(x ^ 10 + 1)]FullSimplify[Cosh[x] - Sinh[x]]FullSimplify[(1 + I)E ^ (-I x) + (1 - I)E ^ (I x)]FullSimplify[Sqrt[2] + Sqrt[3] - Sqrt[5 + 2Sqrt[6]]]FullSimplify[-I Log[(1 + 2I) / Sqrt[5]]]FullSimplify[16 ArcTan[1 / 5] - 4 ArcTan[1 / 239]]FullSimplify[ExpIntegralE[1 - n, x]x ^ n]FullSimplify[Csc[Pi v](BesselI[-v, z] - BesselI[v, z]) / 2]FullSimplify[ProductLog[x E ^ x], x ≥ -1]FullSimplify[E ^ (EllipticF[x, 1]), -Pi / 2 < x < Pi / 2]FullSimplify[EulerPhi[p ^ 2] + p, Element[p, Primes]]FullSimplify[f[f[b, a], a] == f[a, f[b, a]], ForAll[{a, b}, f[a, b] == f[b, a]]]FullSimplify[f[a, a] == f[a, b], ForAll[{a, b}, f[f[a, a], b] == a]]FullSimplify[Subscript[a, 1]⊕Subscript[a, 1] == Subscript[a, 1]⊕Subscript[a, 2], ForAll[{a, b}, (a⊕a)⊕b == a]]FullSimplify[f[f[e, e], e] == e, ForAll[a, f[a, e] == a]]FullSimplify[ForAll[x, Exists[y, g[x, y] == e]], ForAll[{x, y, z}, g[x, g[y, z]] == g[g[x, y], z] && g[e, x] == x && g[inv[x], x] == e]]FullSimplify[Transpose[ArraySymbol["a", {n, n, m}, Symmetric[{1, 2}]]]]选项 (6)
Assumptions (1)
Assumptions 可以同时作为变量和选项值给出:
FullSimplify[Mod[a ^ EulerPhi[m], m], Element[a | m, Integers] && m > 1, Assumptions -> GCD[a, m] == 1]Assumptions 选项的缺省值是 $Assumptions:
Assuming[Re[x] > 0, FullSimplify[E ^ LogGamma[x]]]当假设作为一个变量给出,也使用 $Assumptions:
Assuming[x > 0, FullSimplify[E ^ (LogGamma[x] + LogGamma[y]), y > 0]]把假设指定为一个选择值,避免 FullSimplify 使用 $Assumptions:
Assuming[x > 0, FullSimplify[E ^ (LogGamma[x] + LogGamma[y]), Assumptions -> y > 0]]ComplexityFunction (1)
FullSimplify[ChebyshevT[n, x]]这个复杂函数使得 ChebyshevT 比其它函数代价更高:
f[e_] := 100Count[e, _ChebyshevT, {0, Infinity}] + LeafCount[e]FullSimplify[ChebyshevT[n, x], ComplexityFunction -> f]ExcludedForms (1)
TimeConstraint (1)
FullSimplify[2Sin[12x + 15y]Cos[12x + 21y]]//AbsoluteTimingClearSystemCache[];
FullSimplify[2Sin[12x + 15y]Cos[12x + 21y], TimeConstraint -> 1]//AbsoluteTimingClearSystemCache[];
FullSimplify[2Sin[12x + 15y]Cos[12x + 21y], TimeConstraint -> 0.1]//AbsoluteTimingTransformationFunctions (1)
默认情况下,FullSimplify 不使用 Reduce:
FullSimplify[Boole[E ^ x < 7], x < 3 / 2]这使得 FullSimplify 在实数域范围内使用关于 x 的 Reduce:
t[e_] := Reduce[e, x, Reals]FullSimplify[Boole[E ^ x < 7], x < 3 / 2, TransformationFunctions -> {Automatic, t}]Trig (1)
默认情况下 FullSimplify 用三角恒等式:
FullSimplify[4Sin[x] ^ 2Cos[x] ^ 2 + 4Sin[x]Cos[x] + 1]通过 Trig->False,FullSimplify 不再使用三角恒等式:
FullSimplify[4Sin[x] ^ 2Cos[x] ^ 2 + 4Sin[x]Cos[x] + 1, Trig -> False]应用 (6)
Solve[x + 2Exp[x] == 1, x]//Quietx + 2Exp[x] == 1 /. First[%]//FullSimplifyDSolve[y''[x] - Exp[x]y[x] == 0, y, x]y''[x] - Exp[x]y[x] == 0 /. First[%]//FullSimplifyRSolve[y[k + 1] == k y[k], y, k]y[k + 1] == k y[k] /. First[%]//FullSimplify化简包含 Mod 的表达式:
FullSimplify[CellularAutomaton[{Mod[Total[#], 2] &, {}, 1}, {{a}, 0}, 4], 0 <= a <= 1 && a ∈ Integers]FullSimplify[ForAll[x, g[x, e] == x && g[a, inv[a]] == e], ForAll[{x, y, z}, g[x, g[y, z]] == g[g[x, y], z] && g[e, x] == x && g[inv[x], x] == e]]FullSimplify[f[a, b] == f[b, a], ForAll[{p, q, r}, f[f[f[p, q], r], f[p, f[f[p, r], p]]] == r]]FullSimplify[Exists[{Y}, Y == apply[combinator, Y]], ForAll[{x, y}, apply[apply[l, x], y] == apply[x, apply[y, y]]]]FullSimplify[a⋁(a⋀b) == a, Subscript[∀, {x, y, z}](x⋀(y⋁(x⋁z)) == x && x⋁y⋀(x⋀z) == x && ((x⋁y)⋀(y⋁z))⋀y == y && (x⋀y⋁y⋀z)⋁y == y)]属性和关系 (7)
e = 2Log[2 + 2I] - Log[16I];f = FullSimplify[e]e == f//NFullSimplify 用比 Simplify 更广范围的变换:
Simplify[Gamma[x] Gamma[1 - x]]FullSimplify[%]FullSimplify 用一些展开变换,包括 Expand:
Expand[(x + y) ^ 5]TrigExpand[Sin[x + y]Cosh[x - y]]PiecewiseExpand[Min[x, y, z]]FunctionExpand[Beta[x, z]]FunctionExpand[HypergeometricPFQ[{1, 1, 1 / 2}, {2, 2}, x]]LogicalExpand[Xor[x, y, z]]PowerExpand 对输入进行特殊假定,并且它不被 FullSimplify 使用:
PowerExpand[(x y) ^ z]ComplexExpand 假定变量是一个实数并且同样不被 FullSimplify 使用:
ComplexExpand[Sin[x + I y]]FullSimplify 使用一些因数分解变换,包括 Factor:
p = Expand[(x + 1) ^ 2(x + 2) ^ 2(x + 3) ^ 3]Factor[p]FactorSquareFree[p]TrigFactor[Cos[y] Sin[x] + Cos[x] Sin[y]]对于代数数,使用 RootReduce 和 ToRadicals:
RootReduce[Sqrt[2] + Sqrt[3]]ToRadicals[%]Apart[1 / ((x + 1)(x + 2) ^ 2(x + 3) ^ 3)]Together[%]可能存在的问题 (3)
FullSimplify 使用的某些变换只在一般情况下是正确的:
FullSimplify[Gamma[1 - x]Gamma[x]Sin[Pi x]]Gamma[1 - x]Gamma[x]Sin[Pi x] /. Table[{x -> i}, {i, -3, 3}]FullSimplify[Gamma[1 - x]Gamma[x]Sin[Pi x], Element[x, Integers]]Gamma[1 - x]Gamma[x]0FullSimplify[(1 - a ^ 2) / b ^ 2, a ^ 2 + b ^ 2 == 1]FullSimplify[(1 - c ^ 2) / b ^ 2, c ^ 2 + b ^ 2 == 1]巧妙范例 (1)
FullSimplify 可识别费马最后定理:
FullSimplify[x ^ n + y ^ n == z ^ n, Element[x | y | z | n, Integers] && n > 2 && x y z ≠ 0]技术笔记
-
▪
- 化简代数式 ▪
- 化简 ▪
- 使用假定 ▪
- 带有特殊函数的运算 ▪
- 关于内部实现的一些注释: 代数和微积分
历史
1996年引入 (3.0) | 在以下年份被更新:1999 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2003 (5.0) ▪ 2007 (6.0) ▪ 2014 (10.0) ▪ 2025 (14.2)
文本
Wolfram Research (1996),FullSimplify,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FullSimplify.html (更新于 2025 年).
CMS
Wolfram 语言. 1996. "FullSimplify." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/FullSimplify.html.
APA
Wolfram 语言. (1996). FullSimplify. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FullSimplify.html 年
BibTeX
@misc{reference.wolfram_2026_fullsimplify, author="Wolfram Research", title="{FullSimplify}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/FullSimplify.html}", note=[Accessed: 11-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_fullsimplify, organization={Wolfram Research}, title={FullSimplify}, year={2025}, url={https://reference.wolfram.com/language/ref/FullSimplify.html}, note=[Accessed: 11-November-2026]}