RegularChains[ParametricSystemTools][RealRootClassification] - compute a real root classification of a parametric semi-algebraic system
|
Calling Sequence
|
|
RealRootClassification(F, N, P, H, d, n, R)
RealRootClassification(F, N, P, H, d, r, R)
RealRootClassification(F, N, P, H, d, n, R, 'output'='formula')
RealRootClassification(F, N, P, H, d, n, R, 'output'='samples')
|
|
Parameters
|
|
R
|
-
|
polynomial ring
|
F
|
-
|
list of polynomials of R
|
N
|
-
|
list of polynomials of R
|
P
|
-
|
list of polynomials of R
|
H
|
-
|
list of polynomials of R
|
d
|
-
|
positive integer
|
n
|
-
|
non-negative integer
|
r
|
-
|
non-negative integer range or an integer range
|
|
|
|
|
Description
|
|
•
|
For a semi-algebraic system with parametric variables (parameters), RealRootClassification computes conditions on the parameters for the system to have a given number of real solutions.
|
•
|
More precisely, consider a semi-algebraic system with polynomial equations, non-negative polynomial inequalities, (strictly) positive polynomial inequalities, and polynomial inequations given respectively by F, N, P, and H, and with the last d variables of R as parameters.
|
•
|
Note that, in special circumstances, the returned pair is not well defined. See BorderPolynomial or the related explanation below.
|
•
|
There are two special cases where the computed condition is not well defined or does not return the expected answer. One is when the system is positive dimensional for almost all parameter values. In this case some variables will be treated as parameters, and the command returns conditions for the system to have real solutions w.r.t. the new parameters set. The second case is when the input system is inconsistent.
|
•
|
There are representations of regular_semi_algebraic_sets in the current implementation according to the different nature of the input systems. The related representations are quantifier-free formula, quantifier-free formula with -th root indices, and isolating box. For the latter one, see RealRootIsolate.
|
•
|
One can get a more detailed description on the result of the command RealRootClassification by setting the variable to be greater than 0 (see the examples below).
|
•
|
Because of the inner representation of data in Maple and the strategy of formula simplification in RealRootClassification, the output conditions for mathematically equivalent input (e.g. all are same but different variable order in ring ) may be different in their form but are equivalent to each other, of course.
|
•
|
The algorithm is described in the paper by Yang, L., Hou, X., Xia, B. "A complete algorithm for automated discovering of a class of inequality-type theorems." Sci. China Ser. F, Vol. 44 (2001): 33--49.
|
•
|
The algorithm is complete in theory, however, the command RealRootClassification may quit and output a necessary condition for some examples due to too heavy computation.
|
|
|
Options
|
|
•
|
The option 'output'='samples' also modifies the output format as follows. It is a record with five fields. DecomposedSystems is a list of basic semi-algebraic systems (each of them consisting of a list of equational constraints and a list positive inequality constraints) such that the union of their solution sets equals the solution set of the input semi-algebraic system outside of the hypersurface defined by its border polynomial. BorderPolynomial is the border polynomial of as computed by this command. Parameters lists the parameters in the projection order used by the underlying OPENCAD sampling algorithm. ProjectionPolynomials is a list of lists of polynomials, where each inner list consists of the polynomials used in each OPENCAD projection. SamplePoints is the list of the sample points described above.
|
•
|
The option 'output'='formula' is the default option of this command.
|
|
The computations performed for the option 'output'='samples' are a first step in the computations performed for option 'output'='formula'. This latter option is often more computationally intensive than the former one while the information provided by this former may often be sufficient in practice.
|
|
|
Examples
|
|
>
|
|
>
|
|
>
|
|
>
|
|
| (1) |
| (2) |
We compute the condition on for the system to have no real solutions.
>
|
|
| (3) |
We first inspect the border polynomial.
>
|
|
| (4) |
We then inspect the regular semi-algebraic set.
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
>
|
|
| (10) |
We now pretty print the quantifier-free formula.
>
|
|
| (11) |
We compute the condition on for the system to have real solutions.
>
|
|
| (12) |
We first inspect the border polynomial.
>
|
|
| (13) |
We then inspect the regular semi-algebraic set.
>
|
|
| (14) |
>
|
|
| (15) |
>
|
|
| (16) |
>
|
|
| (17) |
>
|
|
| (18) |
We now pretty print the quantifier-free formula.
>
|
|
| (19) |
Below we make use of the option 'output'='samples' for the cases where the input system has exactly one positive solution when a is positive.
>
|
|
| (20) |
Using the info printing an alternative and more verbose output is illustrated hereafter.
>
|
|
We consider another parametric semi-algebraic system.
>
|
|
| (21) |
>
|
|
| (22) |
| (23) |
We compute the conditions on for the system to have exactly two distinct real solutions.
>
|
|
RealRootClassification: FINAL RESULT:
RealRootClassification: The system has given number of real solution(s) IF AND ONLY IF
RealRootClassification: [R[1] < 0, 0 < R[2], 0 < R[3]]
RealRootClassification: where
RealRootClassification: R[1] = a^2-b^2+b-1
RealRootClassification: R[2] = a^2-b^2+a+1
RealRootClassification: R[3] = 81*a^12-216*a^10*b^2+144*a^8*b^4-18*a^6*b^6+144*a^4*b^8-216*a^2*b^10+81*b^12-216*a^10+414*a^8*b^2-204*a^6*b^4-204*a^4*b^6+414*a^2*b^8-216*b^10+144*a^8-204*a^6*b^2+241*a^4*b^4-204*a^2*b^6+144*b^8-18*a^6-204*a^4*b^2-204*a^2*b^4-18*b^6+144*a^4+414*a^2*b^2+144*b^4-216*a^2-216*b^2+81
RealRootClassification: PROVIDED THAT
RealRootClassification: a-1 <> 0
RealRootClassification: a-b <> 0
RealRootClassification: b-1 <> 0
RealRootClassification: b+1 <> 0
RealRootClassification: a+1 <> 0
RealRootClassification: a+b <> 0
RealRootClassification: a^2-b^2-b-1 <> 0
RealRootClassification: a^2-b^2+b-1 <> 0
RealRootClassification: a^2-b^2-a+1 <> 0
RealRootClassification: a^2-b^2+a+1 <> 0
RealRootClassification: a^2-a*b+b^2-1 <> 0
RealRootClassification: a^2+a*b+b^2-1 <> 0
RealRootClassification: 81*a^12-216*a^10*b^2+144*a^8*b^4-18*a^6*b^6+144*a^4*b^8-216*a^2*b^10+81*b^12-216*a^10+414*a^8*b^2-204*a^6*b^4-204*a^4*b^6+414*a^2*b^8-216*b^10+144*a^8-204*a^6*b^2+241*a^4*b^4-204*a^2*b^6+144*b^8-18*a^6-204*a^4*b^2-204*a^2*b^4-18*b^6+144*a^4+414*a^2*b^2+144*b^4-216*a^2-216*b^2+81 <> 0
RealRootClassification: 2.058*seconds
| |
| (24) |
We first inspect the border polynomial.
>
|
|
| (25) |
We then inspect the regular semi-algebraic set.
>
|
|
| (26) |
>
|
|
| (27) |
>
|
|
| (28) |
>
|
|
| (29) |
>
|
|
| (30) |
We discuss the situation when the parameter satisfies a^2+a+1=0.
>
|
|
RealRootClassification: The system does NOT have the given number of real solution(s)!
RealRootClassification: .137*seconds
| |
| (31) |
In the printed information below, (1)S[1] means that if b is specified and satisfies the output inequality, a should be the least real root of S[1].
>
|
|
| (32) |
In the following example, we compute the real root classification of when the parameters satisfy and .
| (33) |
>
|
|
RealRootClassification: The system has given number of real solution(s) IF AND ONLY IF
RealRootClassification: [R[1] < 0, `(1)S`[1], `(1)S`[2]]
RealRootClassification: where
RealRootClassification: R[1] = a
RealRootClassification: and
RealRootClassification: S[1] = b
RealRootClassification: S[2] = a^2-4*c
RealRootClassification: PROVIDED THAT
RealRootClassification: a <> 0
RealRootClassification: .19e-1*seconds
| |
| (34) |
|
|
References
|
|
|
Yang, L.; Hou, X.; and Xia, B. "A complete algorithm for automated discovering of a class of inequality-type theorems." Science in China Ser F. Vol. 44, (2001): 33-49.
|
|
|