1 Construct a set including all critical values
This paper is aimed at the kind of problems as the following:
Problem 1. Given a polynomial , find the greatest number that satisfies for all real numbers .
Constraint define a closed set, so the greatest or least value of can only be reached on the boundary .
Therefore, the required greatest number must be a critical value of where is taken as an implicit function defined by .
Based on the above consideration, the suggested procedure of solving Problem 1 consists of two steps:

construct a real number set which includes all the critical values of , where is taken as an implicit function defined by

distinguish the greatest or least value of from other members of
In the present paper, the treatment method for the first step is as same as that in the author’s earlier articles [6, 7, 8], however, for the second step, the approach is taken in a somewhat different way  just use a MAPLE internal package without any external software such as BOTTEMA.
Example 1. Find the greatest number that satisfies
(1) 
for all nonnegative real numbers .
By denote .
To confirm the existance of such a greatest value, we need to prove that the feasible set of has an upper bound. There are several ways to be used, say, substituting for respectively, the inequality (1) becomes , hence . So, such a greatest value actually exists since the feasible set is a closed one.
In order to convert the problem to an unconstrained optimization, we replace with respectively, and denote the resulted polynomial by ,
According to the procedure stated above, first construct a set including all the critical values of . To do this, we may employ an elimination algorithm, Successive Resultant Projection, which is sketched as follows:
Given a polynomial in , compute the resultant of and with respect to , remove the multiple factors, and denote that by ; compute the resultant of and with respect to , remove the multiple factors, and denote by ; , repeat this procedure successively until the last resultant becomes a univariate polynomial.
We may use the following selfcompiled short program with Maple to remove multiple factors:
> powerfree:= proc (poly, vset) local P, W, fs;
P:= 1; fs:= factors(poly)[2];
if nops(fs)= 1 then return fs[1][1] end if;
for W in op(map(L>L[1], fs)) do
if has(W, vset) = true then P:= P*W end if
end do;
P
end proc
This program is able to remove not only multiple factors but other useless or redundant factors as well.
Let’s go back to Example 1.
At first, when is taken as an implicit function defined by , find a set including all the critical values of by means of the Successive Resultant Projection, with Maple.
> F:= x^6+y^6+z^6+k*(x^4*y^2+x^2*z^4+y^4*z^2)(k+1)*(x^4*z^2+x^2*y^4+y^2*z^4)
> f1:= powerfree(resultant(F, diff(F, x), x), k)
> f2:= powerfree(resultant(f1, diff(f1, y), y), k)
Now we have
(2) 
Perform the operation of real root isolating,
> realroot(f2)
that resulted in a list of intervals:
(3) 
whereof each interval contains one and only one real root of .
So, has at most 4 critical values because the real roots of include all the critical values of , consequently, if the greatest value of (denoted by ) exists, it must belong to one of the 4 intervals above.
On the other hand, there may also be some intervals where none critical value of is in, because resultant computation can sometimes produce extrafactors.
So far the first step of our procedure has been done.
2 Directly down to RealRootClassification
Consider a semialgebraic system:
where are constants.
We ask for a necessary and sufficient condition on parameters such that the equation has a specified number of roots satisfying all the inequalities above.
More specifically, following the denotations in Section 1, let
and ask for a necessary and sufficient condition on parameters such that the equation has a unique real root satisfying all the inequalities in the following system:
(4) 
There has been a Maple function, RealRootClassification, which is specially designed to solve this kind of problems. To get the required condition, we first start Maple and load some relative internal packages as follows.
> with(RegularChains):
> with(ParametricSystemTools):
> with(SemiAlgebraicSetTools):
Then define an order of the variables:
> R:= PolynomialRing([k,x,y,z]):
and choose a more direct output
> infolevel[RegularChains]:= 1:
Input the relative polynomials:
> f2:= (k^2+k+1)*(k^4+2*k^3107/7*k^2114/7*k89/7)*(k^4+2*k^35*k^26*k23)
*(k^2+k+19/27)
> F:= x^6+y^6+z^6+k*(x^4*y^2+x^2*z^4+y^4*z^2)(k+1)*(x^4*z^2+x^2*y^4+y^2*z^4)
Now, by calling
> RealRootClassification([f2],[F],[k159/64,319/128k],[ ],3,1..n,R)
the screen displays the following output:
There is always given number of real solution(s)!
That means, for any reals , polynomial always has some root in which satisfies . Such a root is unique because has only one root in this interval. By denote this unique root, then
(5) 
for all reals . Hence,
(6) 
for all nonnegative real numbers .
On the other hand, by denote the greatest value of taken over that satisfying for all . Since is a local maximum, so is a critical value of , hence a real root of .
However, has only one root in , so , that is, is the local maximum of taken over .
To compute , by calling
> k1 = fsolve(f2, k, 159/64..319/128)
the screen displays the floatingpoint value of :
In this way, for any interval in list (3), say, , we can decide if it contains a local maximum of or not.
By calling
> RealRootClassification([f2],[F],[k117/32,469/128k],[ ],3,1..n,R)
the screen displays the following output:
The system has given number of real solution(s) IF AND ONLY IF
[[R[1]<=0]
OR
[0<=R[1] 0<R[2]]
That means, the root of in does not satisfy when , i.e. it even cannot satisfy for some , not to mention being a local maximum of we asked for.
Note that the intervals of list (3) are displayed automatically in increasing order, i.e. the numbers in one interval are not greater than those in the next interval. Therefore, on distinguishing which interval contains the global maximum of , the first two intervals can be ignored, and on the other hand, the last interval, , has already been excluded, so is not only a local maximum but also the global maximum of , the greatest number which satisfies for all real numbers .
By establishing the corresponding relation between each interval of list (3) and the real roots of polynomial , we know that is the unique real root of in . Then,
3 Alternate: convert to inequality proving
Next, we consider a analogous problem.
Example 2. Find the greatest number that satisfies
(7) 
for all nonnegative real numbers .
By denote .
Observe that is a decreasing function with respect to , because
(8) 
by ArithmeticmeanGeometricmean inequality.
In order to convert the problem to an unconstrained optimization, we replace with respectively, and denote the resulted polynomial by ,
Perform the first step of the procedure as done previously, to construct a set including all the critical values of by means of the Successive Resultant Projection:
> F := 2*(x^6+y^6+z^6)+3*k*x^2*y^2*z^2(k+2)*(x^4*y^2+y^4*z^2+z^4*x^2)
> f1:= powerfree(resultant(F, diff(F, x), x), k)
> f2:= powerfree(resultant(f1, diff(f1, y), y), k)
Now we have
Perform the operation of real root isolating,
> realroot(f2)
that resulted in a list of intervals:
(9) 
where each interval contains one and only one real root of . Among the 12 intervals, we need to decide which one contains the global maximum of .
It was pointed out that is a decreasing function with respect to , so is . This fact allows us to use a more efficient method.
Let be an interval and is not a critical value of . We have the following assertion:
Proposition 1. If holds for all real numbers , but does not hold for some reals , then, the global maximum of must belong to .
This is almost obvious. By denote the global maximum of . That because is “the greatest number” satisfying for all reals , and for is not a critical value of . On the other hand, is decreasing with respect to , since does not hold for some reals , not to mention any number greater than , so we have .
Now, the problem of finding has been converted to inequality proving.
For instance, to check if the interval contains , introduce a slack variable , and make use of RealRootClassification as follows.
> F:= 2*(x^6+y^6+z^6)+3*k*x^2*y^2*z^2(k+2)*(x^4*y^2+y^4*z^2+z^4*x^2)
> g1:= subs(k=227/128, F)
> g2:= subs(k=57/32, F)
i.e. where denote respectively.
> with(RegularChains):
> with(ParametricSystemTools):
> with(SemiAlgebraicSetTools):
> R:= PolynomialRing([t,x,y,z]):
> infolevel[RegularChains]:= 1:
and then, by calling
> RealRootClassification([g1+t],[ ],[t],[ ],3,0,R)
the screen displays the following output:
There is always given number of real solution(s)!
Let’s interpret what the meaning is. The first argument of the input, , means given an equation , where is a slack variable; the third argument, , means a requirement ; the sixth argument, , means “none real root”. So, the input means: regarding as the unknown and as parameters, to find a sufficient and necessary condition under which the equation has none positive root.
The output, there is always given number of real solution(s), gives the answer that the equation has none positive root for any , i.e. for all reals .
Let’s go on, by calling
> RealRootClassification([g2+t],[ ],[t],[ ],3,0,R)
the screen displays the following output:
The system has given number of real solution(s) IF AND ONLY IF
[0 < R[1]]
where
R[1] = 64*x^6121*x^4*y^2+171*x^2*y^2*z^2121*x^2*z^4+
That means, has none positive root only if but it will have a positive root when , i.e. does not hold for some reals .
Therefore, according to Proposition 1, the global maximum must belong to the interval .
To compute , by calling
> k[max] = fsolve(f2, k, 227/128..57/32)
the screen displays the floatingpoint value of :
By establishing the corresponding relation between each interval in list (9) and the real roots of polynomial , we know that is the unique real root of . Then,
In Example 1 and Example 2, the best possible constant can be written in radicals, but frequently cannot be in some other cases.
Remark. List (9) contains a “degenerate” interval indicates that is a rational root of . Then, is the global maximum of if and only if for all and any number which is greater than does not satisfy this constraint. The same argument also applies to the list (3) in Example 1.
By denote .
Clearly is a decreasing function with respect to .
In order to convert the problem to an unconstrained optimization, we replace with respectively, and denote the resulted polynomial by ,
To remove the radical, let so that can be replaced with the rational polynomial,
(11) 
Perform the first step of the procedure as done previously, to construct a set including all the critical values of by means of the Successive Resultant Projection:
> F := x^4*y^8k*x^2*y^6+u*x^2*y^6+y^6+x^2
> h := x^4+y^8u^2
> f0:= powerfree(resultant(F, h, u), k)
> f1:= powerfree(resultant(f0, diff(f0, x), x), k)
> f2:= powerfree(resultant(f1, diff(f1, y), y), k)
The screen displays that is the product of three factors which are of degrees 34, 32, 8, respectively. The factor of degree 34 is:
(12) 
Perform the operation of real root isolating,
> realroot(f2)
that resulted in a list of intervals:
(13) 
where each interval contains one and only one real root of . Among the 6 intervals, we need to decide which one contains the global maximum of .
To check if the interval contains , we make use of RealRootClassification as follows.
> g1:= subs(k=69/16, F)
> g2:= subs(k=553/128, F)
i.e. ,
.
> with(RegularChains):
> with(ParametricSystemTools):
> with(SemiAlgebraicSetTools):
> R:= PolynomialRing([u,x,y]):
> infolevel[RegularChains]:= 1:
and then, by calling
> RealRootClassification([h],[u],[g1],[ ],2,0,R)
the screen displays the following output:
There is always given number of real solution(s)!
That means, regarding as the unknown, the equation has none nonnegative roots satisfying for any , i.e. when , we have for all real numbers .
Let’s go on, by calling
> RealRootClassification([h],[u],[g2],[ ],2,0,R)
the screen displays the following output:
The system has given number of real solution(s) IF AND ONLY IF
[0<= R[1] 0<R[2]]
OR
[R[2]<0]
That means, regarding as the unknown, when and , the equation will have a positive root such that , i.e. does not hold for some reals .
Therefore, according to Proposition 1, the global maximum must belong to the interval .
To compute , by calling
> k[max] = fsolve(f2, k, 69/16..533/128)
the screen displays the floatingpoint value of :
By establishing the corresponding relation between each interval in list (13) and the real roots of polynomial , we know that is the greatest real root of an irreducible polynomial of degree 34.
The method used in this section does not apply to the Example 1, because the Proposition 1 is invalid as the polynomial is neither decreasing nor increasing with respect to for all nonnegative numbers .
4 Conclusion
We demonstrated a symbolic method with Maple for finding the best possible value of a parameter satisfying some constraints of inequalities and equalities. This method does not employ the external packages.
A recent article [3] gave a proof of the correctness of successive resultant projection and proposed a simplified projection operator of which the projection scale is smaller so it is more effective for many problems. However, the optimization method provided in that article does not seem to solve some constrained problems such as the third example in the present paper.
References
 [1] C. W. Brown, Improved projection for cylindrical algebraic decomposition. J. Symbolic Computation. 32(5): 447465, 2001.
 [2] J. Franklin, Methods of Mathematical Economics. New York: Springer Verlag, 1980.
 [3] J. J. Han, Z. Jin, B. C. Xia, Proving inequalities and solving global optimization problems via simplified CAD projection. J. Symbolic Computation. 72: 209230, 2016. (in press)
 [4] S. McCallum, An improved projection operation for cylindrical algebraic decomposition of threedimensional space. J. Symbolic Computation. 5(1): 141161, 1988.
 [5] S. McCallum, An improved projection operation for cylindrical algebraic decomposition. In: B. Caviness, J. Johnson (eds.), Quantifier Elimination and Cylindrical Algebraic Decomposition, 242268. Vienna: SpringerVerlag, 1998.
 [6] L. Yang, S. H. Xia, An inequalityproving program applied to global optimization. In WC.Yang et al (eds.), Proceedings of ATCM 2000, 4051. Blacksburg: ATCM, Inc., 2000. (Also see http://epatcm.any2any.us/EP/EP2000/ATCMP208/fullpaper.pdf)
 [7] L.Yang. A symbolic algorithm for optimization and finiteness principle. In: D. D. Lin et al (eds.), Mathematics and Mathematics Mechanization, 210220. Jinan: Shandong Educational Publishing House, 2001. (in Chinese)
 [8] L. Yang, B. C. Xia, Automated Proving and Discovering on Inequalities, 131138. Beijing: Science Press, 2008. (in Chinese)
 [9] Y. Yao, J. Xu, L. Yang, A successive resultant projection for cylindrical algebraic decomposition. arXiv:1412.4861v1, 2014.
 [10]
Comments
There are no comments yet.