RegularChains[SemiAlgebraicSetTools]
RealRootIsolate
isolate real roots
BoxValues
extract values from a box
Calling Sequence
Parameters
Description
Examples
References
RealRootIsolate(F, N, P, H, R, opts)
RealRootIsolate(rc, R, opts)
BoxValues(box, R)
R
-
polynomial ring
F
list of polynomials of R
N
P
H
rc
regular chain of R
opts
(optional) equation(s) of the form keyword=value where keyword is one of 'abserr', 'rerr', 'constraints', or 'method'.
box
box isolating a root
The RealRootIsolate command returns a list of boxes. Each box isolates exactly one real root of the regular chain rc or semi-algebraic system S whose polynomial equations, non-negative polynomial inequalities, (strictly) positive polynomial inequalities and polynomial inequations are given respectively by F, N, P, and H. Moreover, it is guaranteed that all real solutions are found. The regular chain rc or semi-algebraic system S has to be zero-dimensional (see IsZeroDimensional). Furthermore, rc must be square-free (see Squarefree and the radical option of Triangularize).
Each box returned by the RealRootIsolate command is a Cartesian product of open intervals or singletons. The BoxValues command retrieves a detailed description of the box parameter and returns a list of elements of the form v=a,b (with a<b) or v=a. In the former case, it means that a<v<b . In the latter case, it means that the value of v is a.
The options 'abserr'=avalue and 'rerr'=rvalue can be used to specify the maximal size of the returned boxes. When one of these options is provided, avalue or rvalue should be a positive rational number. In the first case, all boxes returned by the RealRootIsolate will have a width smaller than or equal to avalue; in the second case, the ratio of the width and the absolute value of the encoded non-zero real algebraic number is smaller than or equal to rvalue, where the width of a box is defined as the maximum of the widths of the intervals of box.
The option 'constraints'=value can be used to constrain the range of the variables. This option can be used in the calling sequence with a regular chain rc. value should be a list of equations of the form v=cons_v, where v is a variable name. Not all variables need to be constrained, and each variable should appear at most once in the list value. The RealRootIsolate will only return solutions which satisfy all constraints. The cons_v can have one of the following forms, depending on the desired constraint: a (meaning v=a), a,b (meaning a<v<b ), closed⁡a,b (meaning a<=v<b ), a,closed⁡b (meaning a<v<=b ), closed⁡a,closed⁡b (meaning a<=v<=b ).
You can specify the algorithm using the option 'method' = 'VincentCollinsAkritas' or 'Discoverer'. The first one is a generalization of the Vincent-Collins-Akritas algorithm which isolates real roots for univariate polynomials. The techniques are very close to the ones used by Renaud Rioboo in his ISSAC 1992 paper (see reference below). The other one implements the algorithm of the paper "Real Solution Isolation Using Interval Arithmetic" by B. Xia and T. Zhang. By default, the first one is used. However, the second one can often do better on large input data.
with⁡RegularChains:
with⁡ChainTools:
with⁡SemiAlgebraicSetTools:
R≔PolynomialRing⁡y,x
R≔polynomial_ring
F≔x3−20⁢x,y2−2⁢x:N≔y:P≔x:H≔x+y:
L≔RealRootIsolate⁡F,N,P,H,R
L≔box
Note that the constraints option is not supported in this calling sequence with four polynomial sets F, N, P and H. Other examples hereafter illustrate the use of the constraints option.
map⁡BoxValues,L,R
y=238,3,x=14332,573128
L≔RealRootIsolate⁡F,N,P,H,R,abserr=125
y=1531512,383128,x=45791024,1145256
L≔RealRootIsolate⁡F,N,P,H,R,rerr=125
y=9532,3,x=14332,1145256
L≔RealRootIsolate⁡F,N,P,H,R,method=Discoverer
L≔RealRootIsolate⁡F,N,P,H,R,rerr=1210,method=Discoverer
y=4899916384,61252048,x=366358192,91592048
Build a simple regular chain:
C≔Chain⁡2⁢x2−1,3⁢y3−x,Empty⁡R,R
C≔regular_chain
L≔RealRootIsolate⁡C,R
L≔box,box
Retrieve the box values:
y=−2072707333554432,−2072706333554432,x=−4634165536,−7414551048576,y=1036353116777216,1036353716777216,x=7414551048576,4634165536
Using the 'abserr' option:
L≔RealRootIsolate⁡C,R,abserr=11010
y=−27167378515774398046511104,−1086695140626917592186044416,x=−7592501251073741824,−97184015999137438953472,y=27167378515674398046511104,27167378515774398046511104,x=97184015999137438953472,7592501251073741824
Using the 'constraints' option:
C≔Chain⁡x2−2,y−1⁢y−x,Empty⁡R,R
L≔RealRootIsolate⁡C,R,constraints=
L≔box,box,box,box
y=−4634132768,−14829091048576,x=−14829111048576,−741455524288,y=524287524288,524289524288,x=−14829111048576,−741455524288,y=524283524288,524293524288,x=741455524288,14829111048576,y=370725262144,14829211048576,x=741455524288,14829111048576
L≔RealRootIsolate⁡C,R,constraints=x=4
L≔
L≔RealRootIsolate⁡C,R,constraints=x=1,2
y=12,118,x=4532,2316,y=118,94,x=4532,2316
L≔RealRootIsolate⁡C,R,constraints=y=1
y=1,x=0,2,y=1,x=−2,0
L≔RealRootIsolate⁡C,R,constraints=y=closed⁡1,2
L≔box,box,box
y=1,x=0,2,y=1,x=−2,0,y=1,2,x=54,32
L≔RealRootIsolate⁡C,R,constraints=y=closed⁡1,1110
L≔RealRootIsolate⁡C,R,constraints=y=1,2
y=1,2,x=54,32
F. Boulier, C. Chen, F. Lemaire, M. Moreno Maza "Real root isolation of regular chains." ASCM'2009, Math-for-Industry, Lecture Note Series Vol. 22.
R. Rioboo "Computation of the real closure of an ordered field." ISSAC'92, Academic Press, San Francisco.
L. Yang, K. Hou, B. Xia "A complete algorithm for automated discovering of a class of inequality-type theorems." Sci. China Ser. F, Vol. 44 (2001): 33-49.
B. Xia, L. Yang "An Algorithm for Isolating the Real Solutions of Semi-algebraic Systems." J. Symb. Comput., Vol. 34, Num. 5 (2002): 461-477.
B. Xia, T. Zhang "Real Solution Isolation Using Interval Arithmetic." Computers and Mathematics with Applications, Vol. 52, (2006): 853-860.
See Also
RealTriangularize
RefineBox
RefineListBox
Download Help Document