

中国科学院大学数学科学学院, 北京 100049
2015年03月18日 收稿; 2015年04月14日 收修改稿
基金项目: 国家自然科学基金(11271363)资助
通信作者: E-mail:kami518@126.com
摘要: 给出判断有理系数多元多项式方程组是否存在实数解的初等方法,从而证明多元多项式方程组的实解存在性可在有限步内自动判定.基于此,给出判定有理系数多元多项式方程组是否存在实数解的算法.
关键词: 判别式矩阵判别式序列数学归纳法
An elementary method for verifying the existence of real roots of rational polynomial equations
WANG Meng


School of Mathematical Sciences, University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: In this paper we present an elementary method to decide whether a system of multivariate polynomials with rational coefficients has a real solution. Based on our discussion of the method, an algorithm is shown, which implies that verifying a system of multivariate polynomials with rational coefficients has a real solution can be completed in finite steps.
Key words: discriminant matrixdiscriminant sequencemathematical induction
判断多项式方程和多项式方程组在代数闭域上是否有解的问题已经解决[1-5],特别是在复数域上是否有解的问题已经解决.但是判断有理系数多项式方程和有理系数多项式方程组在实数域上是否有解的问题,很长时间内都没有解决.Tarski[6]在1948年指出,所有初等代数的判定问题都可以解决,并建立了实闭域上的一阶命题理论.有理系数多项式方程组是否存在实数解属于初等代数判定问题,因而,理论上可以解决.但是他们没有给出具体的判定方法. 文献[7]给出如何判断单变元半代数问题是否存在实数解的算法,并指出该算法可以扩展为判定多元半代数问题[8-11]的实解存在性的算法.主要思路是把n变元半代数问题归约为有限个n-1 元半代数问题.但是,如何将n变元的半代数问题归约为n-1元半代数问题,以及如何判断是否存在实数使得一组多项式都大于零这些关键问题,文献[7]都没有给出具体的步骤.本文给出判断有理系数多元多项式组实解存在性的初等方法.该方法基于杨路等人提出的单变元多项式的判别式理论[12],通过分类和归纳判断实数解是否存在.在解决单变元半代数问题时,这是归纳的基础,本文的方法不需将多项式组化成互素的,因此,本文的算法与文献[7]给出算法有实质性的差别.
1 单变元多项式判别式单变元多项式的判别式理论[5]由杨路提出,根据多项式的判别式,可以得出多项式方程的不同的实数解的个数.
定义1.1 给定单变元多项式
$f\left( x \right)={{a}_{n}}\cdot {{x}^{n}}+{{a}_{n-1}}\cdot {{x}^{n-1}}+\ldots +{{a}_{1}}\cdot x+{{a}_{0}};{{a}_{n}}\ne 0,$ | (1) |
$Discm\left( f \right):=\text{ }\left[ \begin{matrix} {{a}_{n}} & {{a}_{n-1}} & {{a}_{n-2}} & \ldots & {{a}_{0}} & {} & {} & {} \\ 0 & n\cdot {{a}_{n}} & \left( n-1 \right)\cdot {{a}_{n-1}} & \ldots & {{a}_{1}} & {} & {} & {} \\ {} & {{a}_{n}} & \left( n-1 \right)\cdot {{a}_{n-1}} & \ldots & {{a}_{1}} & {{a}_{0}} & {} & {} \\ {} & 0 & n\cdot {{a}_{n}} & \ldots & 2\cdot {{a}_{2}} & {{a}_{1}} & {} & {} \\ {} & {} & {} & {} & \vdots & \vdots & {} & {} \\ {} & {} & {} & {{a}_{n}} & {{a}_{n-1}} & {{a}_{n-2}} & \ldots & {{a}_{0}} \\ {} & {} & {} & 0 & n\cdot {{a}_{n}} & \left( n-1 \right)\cdot {{a}_{n-1}} & \ldots & {{a}_{1}} \\\end{matrix} \right]$ |
$Discl\left( f \right):=[{{D}_{0}},{{D}_{1}},\ldots ,{{D}_{n}}]$ | (2) |
定义1.2 对于实数序列
$\bar{c}:=[{{c}_{0}},{{c}_{1}},{{c}_{2}},\ldots ,{{c}_{n}}]$ | (3) |
$\overline{sgn(c):}=[sgn({{c}_{0}}),sgn({{c}_{1}}),sgn({{c}_{2}}),\ldots ,sgn({{c}_{n}})]$ |
定义1.3 给定一个符号表[s0,s1,s2,…sn],符号表的首项s0不为零.依据以下规则构造一个新的符号表[ψ0,ψ1,ψ2,…,ψn].构造规则如下:如果[si,si+1,…,si+j]是给定符号表的一部分,满足
${{s}_{i}}\ne 0;{{s}_{i+1}}={{s}_{i+2}}=\ldots ={{s}_{i+j-1}}=0;{{s}_{i+j}}\ne 0;$ | (4) |
$[{{s}_{i+1}},{{s}_{i+2}},\ldots ,{{s}_{i+j-1}}]$ | (5) |
$[-{{s}_{i}},-{{s}_{i}},{{s}_{i}},{{s}_{i}},-{{s}_{i}},-{{s}_{i}},{{s}_{i}},{{s}_{i}},-{{s}_{i}},\ldots ],$ | (6) |
定理1.1 [1] 如果实系数多项式f(x)的判别式序列的符号修订表的变号数为v,那么f(x)的互异共轭虚根对的数目就是v; 如果该修订表中非零元的个数是l,则f(x) 的互异实根数目是l-1-2v.
定义1.4 对于实系数多项式
$f\left( x \right)={{a}_{n}}\cdot {{x}^{n}}+{{a}_{n-1}}\cdot {{x}^{n-1}}+\ldots +{{a}_{1}}\cdot x+{{a}_{0}}$ | (7) |
$r\left( x \right)=rem\left( f\prime g,f \right)={{b}_{n-1}}\cdot {{x}^{n-1}}+{{b}_{n-2}}\cdot {{x}^{n-2}}+\ldots +{{b}_{1}}\cdot x+{{b}_{0}},$ | (8) |
$Discm\left( f,g \right):=\left[ \begin{matrix} {{a}_{n}} & {{a}_{n-1}} & {{a}_{n-2}} & \ldots & {{a}_{0}} & {} & {} & {} \\ 0 & {{b}_{n-1}} & {{b}_{n-2}} & \ldots & {{b}_{0}} & {} & {} & {} \\ {} & {{a}_{n}} & {{a}_{n-1}} & \ldots & {{a}_{1}} & {{a}_{0}} & {} & {} \\ {} & {} & 0 & {{b}_{n-1}} & \ldots & {{b}_{2}} & {{b}_{0}} & {} \\ {} & {} & {} & {} & {} & \vdots & {} & {} \\ {} & {} & {} & {{a}_{n}} & {{a}_{n-1}} & {{a}_{n-2}} & \ldots & {{a}_{0}} \\ {} & {} & {} & 0 & {{b}_{n-1}} & {{b}_{n-2}} & \ldots & {{b}_{0}} \\\end{matrix} \right]$ |
$Discl\left( f,g \right):=[{{D}_{0}},{{D}_{1}}\left( f,g \right),\ldots ,{{D}_{n}}\left( f,g \right)]$ | (9) |
定理1.2 给定实系数多项式f(x),g(x),如果Discl(f,g) 的符号修订表的变号数是v,而非零元素的个数是l,则
$l-1-2\cdot v={{f}_{g}}_{^{+}}-{{f}_{g}}_{^{-}},$ | (10) |
${{f}_{g}}_{^{+}}=\left| \{x\in R \right|f\left( x \right)=0,g\left( x \right)>0\}|,{{f}_{g}}_{^{-}}=\left| \{x\in R \right|f\left( x \right)=0,g\left( x \right)<0\}|.$ | (11) |
$\bar{g}=[{{g}_{1}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}}),{{g}_{2}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}}),\ldots ,{{g}_{m}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}})],$ | (12) |
$\bar{c}=[{{c}_{1}},{{c}_{2}},\ldots ,{{c}_{m}}],$ | (13) |
是否存在实数(x10,x20,…,xn0),使得
$\forall i,({{c}_{i}}\ne 0\Rightarrow {{g}_{i}}({{x}^{0}}_{1},{{x}^{0}}_{2},\ldots ,{{x}^{0}}_{n})\cdot {{c}_{i}}>0)\wedge ({{c}_{i}}=0\Rightarrow {{g}_{i}}({{x}^{0}}_{1},{{x}^{0}}_{2},\ldots ,{{x}^{0}}_{n})=0).$ | (14) |
符号表是一个由0,1,-1组成的有限长的序列.对于任何一个符号表c,如果c 的符号修订表的非零元个数为l,变号数为v,那么记号number(c) 定义为 number(c):=l-2·v-1. degree(f(x1,x2,…,xn),xi)记为多项式f(x1,x2,…,xn) 关于未定元xi 的次数. coeff(f(x1,x2,…,xn),xi,k)记为多项式f(x1,x2,…,xn)关于未定元xi的k 次系数,一般是个关于未定元x1,x2,…,
2 P(1)可以在有限步内解决定义2.1 Q(n)是这样一个问题: 存在多少个不同的实数,使得
f(x)=0,g1(x)>0,g2(x)>0,…,gn(x) >0,
f(x)不是零次多项式.
定理2.1 用记号number([f(x),g1(x),g2(x),…,gn(x)])表示问题Q(n) 的解,也就是说存在number([f(x),g1(x),g2(x),…,gn(x)]) 个不同的实数使得
$f\left( x \right)=0,{{g}_{1}}\left( x \right)>0,{{g}_{2}}\left( x \right)>0,\ldots ,{{g}_{n}}\left( x \right)>0,$ |
d·number(DiscriminantSequence(h1(f,g1,g2,…,gn),h2(f,g1,g2,…,gn),x),
(d是有理数,h1,h2是关于f,g1,…,gn的多项式)的项的和.
证明:要求解存在多少个不同的实数,使得f(x)=0,g1(x) >0. 根据定理1.1,可以求出f(x)=0有多少个不同的实数解,计f(x)=0一共有a 个不同的实数解. 根据定理1.1,可以求出f(x)2+g1(x)2=0有多少个不同的实数解,设f(x)2+g1(x)2=0一共有b个不同的实数解. 根据定理1.2,可以求出fg+1-fg-1记为c. 那么一共有(a+c-b)/2个不同的实数,使得f(x)=0,g1(x)>0.所以求解的公式为
$\begin{array}{l}(number(DiscriminantSequence\left( {f,x} \right)) - \\number(DiscriminantSequence({f^2} + {g^2}_1,x)) + \\number(DiscriminantSequence(f,{g_1},x)))/2\end{array}$ | (15) |
c·number(Discrimiant(h(f,g1,g2,…,gk),x)),
(c是有理数,h是关于f,g1,…,gk的多项式)的项及有限多个形如
d·number(DiscriminantSequence(h1(f,g1,g2,…,gk),h2(f,g1,g2,…,gk),x),
(d是有理数,h1,h2是关于f,g1,…,gk的多项式)的项的和.根据假设,可以求出以下5个系统的不同的实数解的个数(分别用记号a,b,c,d,e表示),
$\left\{ \begin{matrix} f\left( x \right)=0 \\ {{g}_{1}}\left( x \right)>0 \\ \vdots \\ {{g}_{k}}\left( x \right)>0 \\\end{matrix} \right.$ | (16) |
$\begin{align} & \\ & \left\{ \begin{matrix} f\left( x \right)=0 \\ {{g}_{k+1}}\left( x \right)>0 \\ {{g}_{2}}\left( x \right)>0 \\ \vdots \\ {{g}_{k}}\left( x \right)>0 \\\end{matrix} \right. \\ \end{align}$ | (17) |
$\left\{ \begin{matrix} f{{\left( x \right)}^{2}}+{{g}_{1}}{{\left( x \right)}^{2}}=0 \\ {{g}_{k+1}}\left( x \right)>0 \\ {{g}_{2}}\left( x \right)>0 \\ \vdots \\ {{g}_{k}}\left( x \right)>0 \\\end{matrix} \right.$ | (18) |
$\left\{ \begin{matrix} f{{\left( x \right)}^{2}}+{{g}_{k+1}}{{\left( x \right)}^{2}}=0 \\ {{g}_{1}}\left( x \right)>0 \\ \vdots \\ {{g}_{k}}\left( x \right)>0 \\\end{matrix} \right.$ | (19) |
$\left\{ \begin{matrix} f\left( x \right)=0 \\ -{{g}_{1}}\left( x \right)\cdot {{g}_{k+1}}\left( x \right)>0 \\ \vdots \\ {{g}_{k}}\left( x \right)>0 \\\end{matrix} \right.$ | (20) |
$\left\{ \begin{matrix} f\left( x \right)=0 \\ {{g}_{1}}\left( x \right)>0 \\ \vdots \\ {{g}_{k+1}}\left( x \right)>0 \\\end{matrix} \right.$ | (21) |
c·number(DiscrimiantSequence(h(f,g1,g2,…,gk+1),x)),
(c是有理数,h是关于f,g1,…,gk的多项式)的项及有限多个形如
d·number(DiscriminantSequence(h1(f,g1,g2,…,gk+1),h2(f,g1,g2,…,gk+1),x),
(d是有理数,h1,h2是关于f,g1,…,gk+1的多项式)的项的和.
所以满足式(21)的不同的实数的个数可以表示成有限多个形如
c·number(DiscrimiantSequence(h(f,g1,g2,…,gk+1),x)),
(c是有理数,h是关于f,g1,…,gk的多项式)的项及有限多个形如
d·number(DiscriminantSequence(h1(f,g1,g2,…,gk+1),h2(f,g1,g2,…,gk+1),x),
(d是有理数,h1,h2是关于f,g1,…,gk+1的多项式)的项的和.
综上所述,number([f,g1,g2,…,gn])可以写成有限多个形如
c·number(DiscrimiantSequence(h(f,g1,g2,…,gn),x)),
(c是有理数,h是关于f,g1,…,gk的多项式)的项及有限多个形如
d·number(DiscriminantSequence(h1(f,g1,g2,…,gn),h2(f,g1,g2,…,gn),x),
(d是有理数,h1,h2是关于f,g1,…,gn的多项式)的项的和.
定理2.2 P(1)是可以通过有限步运算解决的.
证明:沿用定义问题P(n)时用到的记号,如果序列c的任意一项都为0.令F(x)=∑gi(x)2,那么存在实数x0,使得?i,gi(x0)=0,当且仅当存在实数x1 使得F(x1)=0,下面证明这个结论.
如果存在实数(计为x0)使得i,gi(x0)=0,那么∑gi(x0)2=0,也就是说F(x0)=0;另一方面,因为?i,x?gi(x)2≥0,所以如果存在实数(计为x0) 使得F(x0)=0,那么?i,gi(x0)=0.综上所述,存在实数x0使得?i,gi(x0)=0, 当且仅当存在实数x1 使得F(x1)=0.
如果F(x)是个零次多项式,可直接判断F(0)是否为零.为零,有实数解;否则没有实数解.如果F(x)的次数大于零,如果 number(DiscriminantSequence(F(x),x)) >0,那么P(1)存在实数解,否则不存在.
如果c中存在等于0的项,也存在不等于0的项(令F(x)=∑ci=0gi(x)2),而且F(x)不是零多项式,那么,归纳起来,如果F(x)是一个次数大于零的多项式,那么可以根据问题Q(n)的求解公式,判断是否存在实数解.如果F(x)的次数为零次,那么F(x)是一个不为零的常数,此P(1)问题无解.
所以P(1)在条件?ici=0∧?ici≠0∧∑ci=0gi(x)2≠0下,可以在有限步内判断是否存在实数解.
如果?i,ci≠0,那么问题等价于求解是否存在实数x0使得,
$\forall i,{{c}_{i}}\cdot {{g}_{i}}({{x}^{0}})>0,$ | (22) |
$\underset{i}{\mathop{\prod }}\,{{h}_{i}}\left( x \right)=0$ |
存在实数根时,设
${{\alpha }_{1}},\ldots ,{{\alpha }_{k}}$ |
$\forall a\in ({{\alpha }_{i}},{{\alpha }_{i+1}}),$ |
$\forall i,j$ |
存在满足式(22)要求的实数x0,那么x0一定位于某个(αi,αi+1)之间.当然可能会发生这样的情况αi=-∞ 或者αi+1=∞.但是αi,αi+1 中至少有一个为实数,设αi 是实数(另一种情况,可以类似地讨论).所有的gj(x) 要在实数αi右边的足够小的邻域内都大于零,根据之前的分析,hj(αi) >0或者
如果∏hi(x)=0在实数域上无解,那么存在实数满足(22)的条件,当且仅当?i,hi(0) >0.
综上所述.存在实数满足(22)要求,当且仅当
$(\forall x\in R\Rightarrow \prod {{h}_{i}}\left( x \right)\ne 0)\wedge (\forall i,{{h}_{i}}\left( 0 \right)>0),$ | (23) |
$\exists x\in R\Rightarrow (\forall j\in A\Rightarrow {{g}_{j}}\left( x \right)>0)\wedge (\forall j\in A\Rightarrow {{g}_{j}}\left( x \right)=0)\wedge (\forall j\in A,k\in A\Rightarrow \frac{d{{g}_{j}}\left( x \right)}{dx}\cdot \frac{d{{g}_{k}}\left( x \right)}{dx}>0),$ | (24) |
最后一种情况是
$\exists i,{{c}_{i}}=0\wedge \exists j,{{c}_{j}}\ne 0\wedge \underset{{{c}_{i}}=0}{\mathop{\sum }}\,{{g}_{i}}{{\left( x \right)}^{2}}\equiv 0,$ | (25) |
综上所述,P(1)可以在有限步内得到解决.
3 P(n)可以在有限步内解决定理3.1 假设P(k)是可以在有限步内解决的,那么P(k+1)是可以在有限步内解决的.
证明: P(n)问题的c可能只有等于零的项,可能只有不为零的项,可能既有等于零的项,又有不为零的项.分类讨论.
如果
$\forall i,{{c}_{i}}=0,$ | (26) |
$F({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})=\sum {{g}_{i}}{{({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})}^{2}},$ |
选择x1为主变元,如果?(x10,x20,…,xk+10)使得F(x10,x20,…,xk+10)=0,那么对于关于x1的多项式F(x1,x20,…,xk+10)=0有实数解.要使得关于x1的多项式F(x1,x20,…,xk+10)=0有实数解,需要满足以下情况中的一种:
如果F(x1,x2,…,xk+1)|x2=x20,x3=x30,…,xk+1=xk+10关于变元x1的次数为0,那么,
$\forall i\ge 0\Rightarrow coeff(F({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},i)\text{ }{{|}_{x}}_{2}={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}=0$ | (27) |
计 F(x1,x2,…,xk+1)|x2=x20,x3=x30,…,xk+1=x0k+1 关于 x1 的次数为d,那么,
$\begin{align} & (\forall i\in N\wedge italic>d\wedge i\le degree(F({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}), \\ & {{x}_{1}}))\Rightarrow coeff(F({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},i){{|}_{{{_{x}}_{2}}}}_{={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}}=0) \\ & \wedge (coeff(F({{x}_{1}},{{x}_{2}},{{x}_{3}},\ldots ,{{x}_{k+1}}),{{x}_{1}},d){{|}_{{{_{x}}_{2}}}}_{={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}}\ne \\ & 0)\wedge (number(DiscriminantSequence(trunc(F({{x}_{1}},{{x}_{2}}, \\ & \ldots ,{{x}_{k+1}}),{{x}_{1}},d),{{x}_{1}}){{|}_{x}}_{2}={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1})>0). \\ \end{align}$ | (28) |
如果
$\exists i,{{c}_{i}}=0\wedge \exists i,{{c}_{i}}\ne 0\wedge (f\left( x \right):=\underset{{{c}_{i}}=0}{\mathop{\sum }}\,{{g}_{i}}{{\left( x \right)}^{2}}\Rightarrow f\left( x \right)\equiv 0),$ | (29) |
$f({{x}^{0}}_{1},{{x}^{0}}_{2},\ldots ,{{x}^{0}}_{k+1})=0\forall i,{{c}_{i}}\ne 0\Rightarrow {{c}_{i}}\cdot {{g}_{i}}({{x}^{0}}_{1},{{x}^{0}}_{2},\ldots ,{{x}^{0}}_{k+1})>0;$ | (30) |
(x20,…,x0k+1)使得
f(x1,x2,…,xk+1)|x2=x20,…,xk+1=xk=10是个次数为d的多项式,且d大于等于1.
那么要使得(30)式存在实数解,要求
设
$\begin{align} & number([f({{x}_{1}},{{x}_{2}}\ldots ,{{x}_{n}}),{{g}_{i}}_{1}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}}),\ldots , \\ & {{g}_{i}}_{m}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{n}})])= \\ & \underset{i=1}{\overset{i={{l}_{q}}_{1}}{\mathop{\sum }}}\,{{a}_{i}}\cdot number(DiscriminantSequence({{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{h}_{1i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}}))+ \\ & \underset{i={{l}_{q}}_{1}+1}{\overset{i={{l}_{q}}_{2}+{{l}_{q1}}}{\mathop{\sum }}}\,{{b}_{i}}\cdot number(DiscriminantSequence({{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}})), \\ \end{align}$ | (31) |
为了求解出DiscriminantSequence(),需要对
${{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})$ |
(30)式存在实数解,当且仅当
?i,1≤i≤lq1+lq2
?li,(li∈N)∧(li≥1),长度为li+1的实数序列ci满足.
存在(x20,x30,…,xk+10)∈Nk使得
$\begin{align} & (\forall j,j>{{l}_{i}},\Rightarrow \\ & coeff({{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},j){{|}_{^{{{_{x}}_{2}}}}}_{={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}}= \\ & 0)\wedge (coeff({{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},{{l}_{i}}){{|}_{x}}_{2}={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}\ne 0)\wedge \\ & (\underset{i=1}{\overset{i={{l}_{q}}_{1}}{\mathop{\sum }}}\,{{a}_{i}}\cdot number({{{\bar{c}}}^{i}})+\underset{i={{l}_{q}}_{1}+1}{\overset{i={{l}_{q}}_{1}+{{l}_{q}}_{2}}{\mathop{\sum }}}\,number({{{\bar{c}}}^{i}})>0)\wedge \\ & DiscriminantSequence(trunc({{h}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},{{l}_{i}}), \\ & {{x}_{1}}){{|}_{x}}_{2}={{x}^{0}}_{2},{{x}_{3}}={{x}^{0}}_{3},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}的符号表为{{{\bar{c}}}^{i}}. \\ \end{align}$ | (32) |
另一种可能是f(x1,x2,…,xk+1)|x2=x20,…,xk+1=xk+10为一个关于x1的零次多项式,即要求
$\sum coeff{{(f({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},i)}^{2}}{{|}_{x}}_{2}={{x}^{0}}_{2},\ldots ,{{x}_{k+1}}={{x}^{0}}_{k+1}=0.$ |
${{f}^{1}}({{x}_{2}},\ldots ,{{x}_{k+1}}):=\sum coeff{{(f({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},i)}^{2}},$ |
判断P(k+1)在约束(30)的情况下是否存在实数解的问题,转化为判断
${{f}^{1}}\left( {{x}_{2}},\ldots ,{{x}_{k+1}} \right)=0;\forall i,{{c}_{i}}\ne 0\Rightarrow {{c}_{i}}\cdot {{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})>0$ | (33) |
假设原问题在式(30)条件下不能在有限步内判断,那么f(x1,x2,…,xk+1)|x2=x20,…,xk+1=xk+10关于x1是零次的.经过转化之后的f1(x2,…,xk+1)|x30,…,xk+1=xk+10关于x2的次数也为零(否则根据第1种情况下的讨论,可以在有限步内判断是否存在实数解),经过k+1次转换之后原问题转换成问题
${{f}^{k+1}}=0;\forall i,{{c}_{i}}\ne 0\Rightarrow {{c}_{i}}\cdot {{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})>0;{{f}^{k+1}}是不为零的常数$ |
所以与问题不能在有限步内解决矛盾.
综上所述,P(k+1)在式(30)条件下可以归约为有限多个P(k)问题,所以可以在有限步内解决.
$\forall i,{{c}_{i}}\ne 0,$ | (34) |
在实数域上存在实数x0使得
$\forall i,{{c}_{i}}\cdot {{g}_{i}}({{x}_{0}})>0;$ | (35) |
$\begin{align} & (\forall i,(\exists {{l}_{i}}s.t.(\forall l,{{l}_{i}}\Rightarrow \left( \frac{{{d}^{l}}{{c}_{i}}\cdot {{g}_{i}}\left( x \right)}{d{{x}^{l}}}=0) \right)\wedge (\frac{{{d}^{l}}_{i}{{c}_{i}}\cdot {{g}_{i}}\left( x \right)}{d{{x}^{l}}_{i}\ne 0}))\wedge ({{l}_{i}}\equiv 0(mod2)\Rightarrow \\ & \frac{{{d}^{l}}_{i}{{c}_{i}}\cdot {{g}_{i}}\left( x \right)}{d{{x}^{l}}_{i}}>0)))\wedge (\forall i,j({{l}_{i}}\equiv 1(mod2)\wedge {{l}_{j}}\equiv 1(mod2))\Rightarrow (\frac{{{d}^{l}}_{i}{{c}_{i}}\cdot {{g}_{i}}\left( x \right)}{d{{x}^{{{l}_{i}}}}}\cdot \frac{{{d}^{l}}_{j}{{c}_{j}}\cdot {{g}_{j}}\left( x \right)}{d{{x}^{l}}_{j}}>0)). \\ \end{align}$ | (36) |
$({{x}^{0}}_{1},{{x}^{0}}_{2},\ldots ,{{x}^{0}}_{k+1})$ |
$\begin{align} & f\left( {{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}} \right):=\underset{i}{\mathop{\sum }}\,\underset{k>{{l}_{i}}}{\mathop{\sum }}\,coeff{{({{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},k)}^{2}}, \\ & coeff({{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},{{l}_{i}})\ne 0,trunc({{c}_{i}}\cdot {{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},{{l}_{i}})>0, \\ \end{align}$ | (37) |
如果f(x1,x2,…,xk+1)≡0那么问题转换为
$coeff({{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}},degree({{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}}),{{x}_{1}}))\ne 0,{{c}_{i}}\cdot {{g}_{i}}({{x}_{1}},{{x}_{2}},\ldots ,{{x}_{k+1}})>0.$ | (38) |
是否存在(x1,x2,…,xk+1)使得
$\begin{array}{l}(\forall i,coeff({g_i}({x_1},{x_2}, \ldots ,{x_{k + 1}}),{x_1},\\degree({g_i}({x_1},{x_2}, \ldots ,{x_{k + 1}}),{x_1})) \ne 0) \wedge \\((\forall i,(\exists {l_i}s.t.(\forall l,li \Rightarrow \\\left. {\left( {\frac{{{\partial ^l}{c_i} \cdot {g_i}\left( {{x_1},{x_2}, \ldots ,{x_{k + 1}}} \right)}}{{\partial {x^l}_1}} = 0} \right)} \right)\\\left. { \wedge \left( {\frac{{{\partial ^{{l_i}}}{c_i} \cdot {g_i}\left( {{x_1},{x_2}, \ldots ,{x_{k + 1}}} \right)}}{{\partial {x^{{l_i}}}_1}} \ne 0} \right)} \right) \wedge \\\left( {{l_i} \equiv 0\left( {mod2} \right) \Rightarrow } \right.\\\left. {\left. {\left. {\frac{{{\partial ^{{l_i}}}{c_i} \cdot {g_i}\left( {{x_1},{x_2}, \ldots ,{x_{k + 1}}} \right)}}{{\partial {x^{{l_i}}}_1}} > 0} \right)} \right)} \right) \wedge \\\forall i,j\left( {{l_i} \equiv 1\left( {mod2} \right) \wedge {l_j} \equiv 1\left( {mod2} \right)} \right) \Rightarrow \\\left( {\frac{{{\partial ^{{l_i}}}{c_i} \cdot {g_i}\left( {{x_1},{x_2}, \ldots ,{x_{k + 1}}} \right)}}{{\partial {x^{{l_i}}}_1}}} \right..\\\left. {\left. {\frac{{{\partial ^{{l_j}}}{c_j} \cdot {g_j}\left( {{x_1},{x_2}, \ldots ,{x_{k + 1}}} \right)}}{{\partial {x^{{l_j}}}_1}} > 0} \right)} \right),\end{array}$ | (39) |
根据数学归纳法,P(n)问题都可以在有限步内解决.
4 结语本文给出算法判定有理系数多项式方程是否存在实数解.与文献[7]不同,本文根据杨路等人的多项式判别式的方法,不需要将多项式组化成互素的就可以判断多项式方程有没有实数解,而且本文详细介绍了如何将 n变元半代数问题归约为 n-1 变元的半代数问题.综上所述,本文给出了判断有理系数多项式方程是否存在实数解的新的算法.
参考文献
[1] | Cox D A, Little J, O'Shea D. Ideals,varieties,and algorithms[M].NewYork: Springer, 2007. |
[2] | 陈玉福. 计算机代数讲义[M].北京: 高等教育出版社, 2009. |
[3] | 王东明, 夏壁灿, 李子明. 计算机代数[M].北京: 清华大学出版社, 2007. |
[4] | Yang L. Recent advances on determining the number of real roots of parametric polynomials[J].Journal of Symbolic Computation, 1999, 28(1):225–242. |
[5] | Dubé T W. The structure of polynomial ideals and Grobner bases[J].SIAM Journal on Computing, 1990, 19(4):750–773.DOI:10.1137/0219053 |
[6] | Tarski A. A decision method for elementary algebra and geometry[M].Berkeley: Univ of Calif Press Berkeley, 1951. |
[7] | Ben-Or M, Kozen D, Reif J. The complexity of elementary algebra and geometry[J].Journal of Computer and System Sciences, 1984, 32(2):251–264. |
[8] | Yang L, Hou X, Xia B. A complete algorithm for automated discovering of a class of inequality-type theorems[J].Science in China Series F Information Sciences, 2001, 44(1):33–49.DOI:10.1007/BF02713938 |
[9] | Mehlhorn K, Sagraloff M. A deterministic algorithm for isolating real roots of a real polynomial[J].Journal of Symbolic Computation, 2011, 46(1):70–90.DOI:10.1016/j.jsc.2010.09.004 |
[10] | Cheng J S, Gao X S, Guo L. Root isolation of zero-dimensional polynomial systems with linear univariate representation[J].Journal of Symbolic Computation, 2012, 47(7):843–858.DOI:10.1016/j.jsc.2011.12.011 |
[11] | Wang D. Automated deduction in geometry[M].Berlin: Springer-Verlag, 1998. |
[12] | Yang L, Hou X R, Zeng Z B. A complete discrimination system for polynomials[J].中国科学 E 辑 (英文版), 1996, 6:8. |