PolynomialReduce[poly,{poly1,poly2,…},{x1,x2,…}]
产生一个形式为 {{a1,a2,…},b} 的列表,表示 poly 针对 polyi 的一个约化,其中 b 为最小形式且 a1 poly1+a2 poly2+…+b 恰好等于 poly.
PolynomialReduce
PolynomialReduce[poly,{poly1,poly2,…},{x1,x2,…}]
产生一个形式为 {{a1,a2,…},b} 的列表,表示 poly 针对 polyi 的一个约化,其中 b 为最小形式且 a1 poly1+a2 poly2+…+b 恰好等于 poly.
更多信息和选项
- 多项式 b 有这样的性质:它的任何一项都不会被任何一个 polyi 的首项整除.
- 如果 polyi 相对于 xi 构成一个 Gröbner 基(Gröbner basis),则该属性就唯一地决定了从 PolynomialReduce 求解得到的余数.
- 一般来说,多项式的约化结果取决于单项式的排序. 这种排序受到 xi 排序的影响.
- 关于 GroebnerBasis,可以给出下面的选项:
-
MonomialOrder Lexicographic 用于单项式排序的准则 CoefficientDomain Rationals 用作系数的对象类型 Modulus 0 数值系数的模 - PolynomialReduction 只计算化简后的多项式 b.
范例
打开所有单元 关闭所有单元基本范例 (1)
范围 (1)
按一个多项式列表约化一个多项式,其中这个多项式列表不是 Gröbner 基:
f = 2x ^ 3 + y ^ 3 + 3y;
polys = {x ^ 2 + y ^ 2 - 1, x y - 2};
gb = GroebnerBasis[polys, {x, y}]PolynomialReduce[f, polys, {x, y}]当 f 属于 polys 产生的理想时,余式模 gb 必为零:
PolynomialReduce[f, gb, {x, y}]选项 (4)
CoefficientDomain (1)
在缺省情况下,PolynomialReduce 在参数的有理函数域上适用:
polys = {a x ^ 2 + 5 y - 1, 2 x + x y - y ^ 2};
poly = a ^ 2 x - x y + y ^ 2 - 3;gb1 = GroebnerBasis[polys, {x, y}, CoefficientDomain -> RationalFunctions]PolynomialReduce[poly, gb1, {x, y}]gb2 = GroebnerBasis[polys, {x, y}, CoefficientDomain -> Integers]PolynomialReduce[poly, gb2, {x, y}, CoefficientDomain -> Integers]gb3 = GroebnerBasis[polys, {x, y}, CoefficientDomain -> Rationals]PolynomialReduce[poly, gb3, {x, y}, CoefficientDomain -> Rationals]gb4 = GroebnerBasis[polys, {x, y}, CoefficientDomain -> InexactNumbers[20]]PolynomialReduce[poly, gb4, {x, y}, CoefficientDomain -> InexactNumbers]Modulus (1)
MonomialOrder (1)
在默认情况下,PolynomialReduce 用 Lexicographic 单项序:
polys = {3 x ^ 2 + y - 5 x - 1, 2 x + 3 x y + y ^ 2};
poly = x y - 3 x y ^ 2 + 11y + x ^ 3;gb1 = GroebnerBasis[polys, {x, y}]PolynomialReduce[poly, gb1, {x, y}]可以使用由 GroebnerBasis 所允许的任何 MonomialOrder:
gb2 = GroebnerBasis[polys, {x, y}, MonomialOrder -> DegreeReverseLexicographic]PolynomialReduce[poly, gb2, {x, y}, MonomialOrder -> DegreeReverseLexicographic]Tolerance (1)
p = x ^ 14 + 3.00001 * x ^ 10 - 7.99998 * x ^ 7 - 25.00002 * x ^ 6 + 3.00001 * x ^ 13 + 9.00006 * x ^ 9 - 3.00001 * x ^ 5 - 2.00001 * x ^ 8 - 6.00005 * x ^ 4 + 16.00004 * x + 2.00001;d = -2.0001465223696937 + 3.0002401628321618 * x ^ 5 + 1. * x ^ 6;PolynomialReduce[p, {d}, x, CoefficientDomain -> InexactNumbers]PolynomialReduce[p, {d}, x, CoefficientDomain -> InexactNumbers, Tolerance -> 0.01]应用 (3)
f = x ^ 6 - 14x ^ 3 - y ^ 4 + 49;
g = x ^ 5 - y ^ 5;
polys = {x ^ 2 - y ^ 3 - 5, y ^ 2 - x ^ 3 + 7};
gb = GroebnerBasis[polys, {x, y}]PolynomialReduce[f, gb, {x, y}][[2]]PolynomialReduce[g, gb, {x, y}][[2]]poly = (x + y) ^ 2;
eqns = {a == x ^ 2 + y ^ 2, b == x y};
gb = GroebnerBasis[eqns, {x, y}]{qs, r} = PolynomialReduce[(x + y) ^ 2, gb, {x, y}]poly == r /. ToRules[And@@eqns]//Expand{p1, p2} = {x ^ 2 + y ^ 2, x y};gb = GroebnerBasis[{f1 - p1, f2 - p2}, {x, y}]Last[PolynomialReduce[(x + y) ^ 4, gb, {x, y}]]% /. {f1 -> p1, f2 -> p2}//Factor属性和关系 (4)
f = x ^ 2 - 2x y ^ 2 + y ^ 3 + 7;
polys = {x ^ 2 - y ^ 2 - 3, x y - 5};
{qs, r} = PolynomialReduce[f, polys, {x, y}]f 等于 polys 的,系数为 qs 的线性组合加上余式 r:
f == qs.polys + r//Expand用 PolynomialReduction 计算化简后的多项式 r:
PolynomialReduction[f, polys, {x, y}]当且仅当一个多项式可约化到零时,则它属于 Gröbner 基产生的理想:
{p1, p2} = {x ^ 2 + y ^ 2 + z ^ 2 - 1, x - 2y ^ 3 - 3};{g1, g2} = GroebnerBasis[{p1, p2}, {x, y, z}]PolynomialReduce[p1, {g1, g2}, {x, y, z}]单变量 PolynomialReduce 等价于 PolynomialQuotientRemainder:
PolynomialReduce[x ^ 5 - 3x + 7, {2x ^ 3 - 5x + 11}, x]PolynomialQuotientRemainder[x ^ 5 - 3x + 7, 2x ^ 3 - 5x + 11, x]p = x**x**y**x**y + 2 y**x**y**x + 3 x**y;
qq = {2 x**y**x + 3 x**x + 4 y + 5, 3 y**x**x + 4 y**x - 5 x + 6};{fs, r} = NonCommutativePolynomialReduce[p, qq, {x, y}]NonCommutativeExpand[p - Plus@@MapThread[Construct, {fs, qq}] - r]可能存在的问题 (1)
PolynomialReduce 在输入相同但变量排序不同的情况下,可能会得出不同的结果:
polys = {x ^ 2 - y ^ 3 - 5, y ^ 3 - x ^ 3 + 7};
newpoly = x ^ 5 + (x + y) ^ 2;
PolynomialReduce[newpoly, polys, {x, y}]PolynomialReduce[newpoly, polys, {y, x}]技术笔记
-
▪
- 多项式的代数运算
历史
1996年引入 (3.0)
文本
Wolfram Research (1996),PolynomialReduce,Wolfram 语言函数,https://reference.wolfram.com/language/ref/PolynomialReduce.html.
CMS
Wolfram 语言. 1996. "PolynomialReduce." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/PolynomialReduce.html.
APA
Wolfram 语言. (1996). PolynomialReduce. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/PolynomialReduce.html 年
BibTeX
@misc{reference.wolfram_2026_polynomialreduce, author="Wolfram Research", title="{PolynomialReduce}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/PolynomialReduce.html}", note=[Accessed: 19-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_polynomialreduce, organization={Wolfram Research}, title={PolynomialReduce}, year={1996}, url={https://reference.wolfram.com/language/ref/PolynomialReduce.html}, note=[Accessed: 19-June-2026]}