LazyRealTriangularize - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


RegularChains

  

RealTriangularize

  

compute all the solutions of a semi-algebraic system

  

LazyRealTriangularize

  

compute the solutions of a semi-algebraic system interactively

  

SamplePoints

  

compute sample points for a semi-algebraic system

 

Calling Sequence

Parameters

Options

Description

Examples

References

Compatibility

Calling Sequence

RealTriangularize(sys, R, options)

RealTriangularize(F, N, P, H, R, options)

LazyRealTriangularize(sys, R, options)

LazyRealTriangularize(F, N, P, H, R, options)

SamplePoints(sys, R, options)

SamplePoints(F, N, P, H, R, options)

SamplePoints(C, R)

Parameters

sys

-

list of polynomial equations, inequations, and inequalities over R

F

-

list of polynomials over R representing equations

N

-

list of polynomials over R representing non-negativity conditions

P

-

list of polynomials over R representing positivity conditions

H

-

list of polynomials over R representing inequations

C

-

object of type cadcell

R

-

polynomial ring

options

-

(optional) equation of the form 'output'=format, where format is either 'piecewise', 'record', 'list' , 'zerodimensional', or equation of the form 'isolation'='algorithm', where 'algorithm'='Discoverer' or 'algorithm'='VincentCollinsAkritas' , or equation of the form 'method'='algorithm', where 'algorithm'='recursive' or 'algorithm'='incremental' , or equation of the form 'relaxation'=algorithm, where 'algorithm'='explicit' or 'algorithm'='implicit' .

Options

The output option controls the form of the output.

– 

If 'output'='list' is specified, the output is a list of objects of type regular_semi_algebraic_system, for RealTriangularize and LazyRealTriangularize, and a list of objects of type box, for SamplePoints. This is the default for RealTriangularize and for SamplePoints.

– 

If 'output'='piecewise' is specified, then the output format is a case discussion tree encoded by a piecewise object. This is not a valid option for SamplePoints, and it is the default for LazyRealTriangularize.

– 

If 'output'='record' is specified, then the output is a sequence of Maple records.

– 

If 'output'='zerodimensional' is specified, then the output is a list of regular semi-algebraic sets. (See SemiAlgebraicSetTools for the definition of a regular semi-algebraic system.) The usage of this format is restricted to the case where the constructible set associated to S has finitely many solutions. This condition holds in particular when the semi-algebraic system S itself has finitely many solutions.

The isolation option controls the method used for isolating the real roots of a zero-dimensional regular chain. (See RealRootIsolate for the subject of real root isolation of a regular chain.)

– 

If 'isolation'='VincentCollinsAkritas' is specified, then the method 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).

– 

If 'isolation'='Discoverer' is specified, then the method implements the algorithm of the paper "An Algorithm for Isolating the Real Solutions of Semi-algebraic Systems." by Bican Xia and Lu Yang. The default method is Discoverer.

The method option controls the decomposition algorithm.

– 

If 'method'='recursive' is specified, then the algorithm presented in the ISSAC 2010 paper by Changbo Chen et al. (see reference below) is used.

– 

If 'method'='incremental' is specified, then the algorithm presented in the ISSAC 2011 paper by Changbo Chen et al. (see reference below) is used. This option is the default.

The relaxation option controls the use of a relaxation technique aiming at reducing the number of components in the output. This strategy is described in the ISSAC 2011 paper by Changbo Chen et al. (see reference below).

– 

If 'relaxation'='explicit' is specified, then criteria are used to check whether relaxation techniques apply. These criteria have some computational cost. However, relaxation techniques might speed up the decomposition process dramatically in some cases.

– 

If 'relaxation'='implicit' is specified, then relaxation techniques are applied in a light way, at essentially no cost. However, some opportunities for relaxation can only discovered in the 'explicit' mode. The option 'relaxation'='implicit' is used by default.

Description

• 

Consider the semi-algebraic system S whose unknowns are the variables of R and whose equations, non-negative inequalities, strictly positive inequalities, and inequations are given either by sys or by F, N, P, and H, respectively. The solutions of S are the real numbers which satisfy simultaneously the equations, inequalities, and inequations of S.

• 

The commands RealTriangularize(F, N, P, H, R) or RealTriangularize(sys, R) return a triangular decomposition of the solutions of S in the following sense. They compute a list of regular semi-algebraic systems such that the union of their solution sets is exactly the solution set of S. (See SemiAlgebraicSetTools for the definition of a regular semi-algebraic system.)

• 

The commands LazyRealTriangularize(F, N, P, H, R) or LazyRealTriangularize(sys, R) return regular semi-algebraic systems and unevaluated recursive calls in a piecewise format, unless a different output format is requested. The zero sets of those regular semi-algebraic systems form a "lazy" real triangular decomposition of S in the following sense.

– 

The zero sets of those regular semi-algebraic systems form a subset U of the solution set of S;

– 

The dimension of the solution set of SU is strictly less than the dimension of the constructible set associated with S.

– 

By evaluating the recursive calls in finitely many steps, one can eventually obtain a triangular decomposition of S.

  

When the option 'output'='list' is specified, the recursive calls will be discarded and only the regular semi-algebraic systems are returned as a list.

• 

The commands SamplePoints(F, N, P, H, R) and SamplePoints(sys, R) return at least one sample point per real connected component of S.

– 

The output format is the same as for the command RealRootIsolate. That is, a list of so-called boxes, each box containing one and only one sample point. (See SemiAlgebraicSetTools or RealRootIsolate for the definition of a box.)

– 

The BoxValues command retrieves a detailed description of a box.

– 

In addition, each box can be refined with an arbitrary small precision. See the commands RefineBox and RefineListBox.

• 

The command SamplePoints(C,R) returns a sample point of the CAD cell given by C. The type cadcell encodes any CAD cell and is used for one of the output formats of the command CylindricalAlgebraicDecompose. See SemiAlgebraicSetTools for the definition of a CAD cell.

Examples

withRegularChains:

Define a ring of polynomials.

RPolynomialRingx,y,z:

Define a set of equations.

Fx3+y+z1,x+y3+z1,x+y+z31

Fx3+y+z1,y3+x+z1,z3+x+y1

(1)

Define a set of non-negative polynomials.

N

N

(2)

Define a set of positive polynomials.

P

P

(3)

Define a set of inequations.

Hx

Hx

(4)

Compute the solutions of F for which x is nonzero.

decRealTriangularizeF,N,P,H,R

decregular_semi_algebraic_system,regular_semi_algebraic_system,regular_semi_algebraic_system,regular_semi_algebraic_system,regular_semi_algebraic_system

(5)

Displaydec,R

xz=0yz=0z3+2z1=0,x1=0y+1=0z1=0,x+1=0y1=0z1=0,x1=0y=0z=0,x1=0y1=0z+1=0

(6)

Compute the solutions of F for which x1.

decRealTriangularizeF,N,P,x1,R

decregular_semi_algebraic_system,regular_semi_algebraic_system,regular_semi_algebraic_system,regular_semi_algebraic_system

(7)

Displaydec,R

xz=0yz=0z3+2z1=0,x=0y=0z1=0,x+1=0y1=0z1=0,x=0y1=0z=0

(8)

Compute the solutions of F for which x is negative.

decRealTriangularizeF,N,x,,R

decregular_semi_algebraic_system

(9)

Displaydec,R

x+1=0y1=0z1=0

(10)

For input systems which are known to have finitely many solutions like F, the option 'output'='zerodimensional' provides an alternative output format based on isolation boxes, as for RealRootIsolate.

decRealTriangularizeF,R,output=zerodimensional

decregular_semi_algebraic_set,regular_semi_algebraic_set,regular_semi_algebraic_set,regular_semi_algebraic_set,regular_semi_algebraic_set,regular_semi_algebraic_set,regular_semi_algebraic_set

(11)

mapDisplay,dec,R

x=38,12y=38,12z=2964,117256,x=1y=1z=−1,x=0y=1z=0,x=0y=0z=1,x=1y=−1z=1,x=−1y=1z=1,x=1y=0z=0

(12)

Consider the unit circle in the Euclidean plane.

RPolynomialRingy,x;sysx2+y2=1

Rpolynomial_ring

sysx2+y2=1

(13)

Compute its real points.

RealTriangularizesys,R,output=record

y2+x21=0x<1x+1>0,y=0x1=0,y=0x+1=0

(14)

Consider the generic equation of degree two.

RPolynomialRingx&comma;c&comma;b&comma;a&semi;sysax2+bx+c=0

Rpolynomial_ring

sysax2+bx+c=0

(15)

Compute a triangular decomposition of the 4-variable hypersurface it defines.

decRealTriangularizesys&comma;R

decregular_semi_algebraic_system&comma;regular_semi_algebraic_system&comma;regular_semi_algebraic_system&comma;regular_semi_algebraic_system

(16)

Displaydec&comma;R

ax2+bx+c=04ca+b2>0anda0&comma;2ax+b=04acb2=0a0&comma;bx+c=0a=0b0&comma;c=0b=0a=0

(17)

Consider the piecewise output format.

RealTriangularizesys&comma;R&comma;output=piecewise

x2a+xb+c=00<4ac+b2a0xb+c=0&comma;a=0b0c=0&comma;b=0&comma;a=0b=0a=02ax+b=0&comma;4acb2=0a0c=0&comma;b=0&comma;a=0a=04ac+b2=0otherwise

(18)

Consider the record output format.

RealTriangularizesys&comma;R&comma;output=record

ax2+bx+c=04ca+b2>0a0,2ax+b=04acb2=0a0,bx+c=0b0a=0,c=0b=0a=0

(19)

Use LazyRealTriangularize to start the decomposition.

decLazyRealTriangularizesys&comma;R

decax2+bx+c=00<4ca+b2a0LazyRealTriangularizea=0&comma;ax2+bx+c=0&comma;polynomial_ringa=0LazyRealTriangularize4ca+b2=0&comma;ax2+bx+c=0&comma;polynomial_ring4ca+b2=0otherwise

(20)

Go one step further, computing components in lower dimension.

dec2valuedec

dec2x2a+xb+c=00<4ac+b2a0xb+c=0&comma;a=0b0LazyRealTriangularizea=0&comma;b=0&comma;xb+c=0&comma;x2a+xb+c=0&comma;polynomial_ringb=0a=02ax+b=0&comma;4acb2=0a0LazyRealTriangularizea=0&comma;4ac+b2=0&comma;4acb2=0&comma;2ax+b=0&comma;x2a+xb+c=0&comma;polynomial_ringa=04ac+b2=0otherwise

(21)

Go the last step, computing components in dimension zero.

valuedec2

x2a+xb+c=00<4ac+b2a0xb+c=0&comma;a=0b0c=0&comma;b=0&comma;a=0b=0a=02ax+b=0&comma;4acb2=0a0c=0&comma;b=0&comma;a=0a=04ac+b2=0otherwise

(22)

Use the list output format.

decLazyRealTriangularizesys&comma;R&comma;output=list

decregular_semi_algebraic_system

(23)

Displaydec&comma;R

ax2+bx+c=04ca+b2>0anda0

(24)

Use the record output format.

decLazyRealTriangularizesys&comma;R&comma;output=record

decax2+bx+c=04ca+b2>0a0&comma;LazyRealTriangularizea=0&comma;ax2+bx+c=0&comma;polynomial_ring&comma;output=record&comma;LazyRealTriangularize4ca+b2=0&comma;ax2+bx+c=0&comma;polynomial_ring&comma;output=record

(25)

Go one step further.

dec2valuedec

dec2ax2+bx+c=04ca+b2>0a0&comma;bx+c=0b0a=0&comma;LazyRealTriangularizea=0&comma;b=0&comma;bx+c=0&comma;ax2+bx+c=0&comma;polynomial_ring&comma;output=record&comma;2ax+b=04acb2=0a0&comma;LazyRealTriangularizea=0&comma;4ac+b2=0&comma;4acb2=0&comma;2ax+b=0&comma;ax2+bx+c=0&comma;polynomial_ring&comma;output=record

(26)

Go the last step.

valuedec2

ax2+bx+c=04ac+b2>0a0&comma;bx+c=0b0a=0&comma;c=0b=0a=0&comma;2ax+b=04acb2=0a0&comma;c=0b=0a=0

(27)

Consider again the unit circle in the Euclidean plane.

RPolynomialRingy&comma;x&semi;sysx2+y2=1

Rpolynomial_ring

sysx2+y2=1

(28)

Compute sample points of it.

PSamplePointssys&comma;R

Pbox&comma;box&comma;box&comma;box

(29)

DisplayP&comma;R

y=−1x=0&comma;y=1x=0&comma;y=0x=1&comma;y=0x=−1

(30)

Request points with positive abscissa.

sysx2+y2=1&comma;0<x

sysx2+y2=1&comma;0<x

(31)

PSamplePointssys&comma;R

Pbox&comma;box&comma;box

(32)

DisplayP&comma;R

y=111128&comma;5564x=12&comma;y=5564&comma;111128x=12&comma;y=0x=1

(33)

Return to the generic equation of degree two.

RPolynomialRingx&comma;c&comma;b&comma;a&semi;sysax2+bx+c=0

Rpolynomial_ring

sysax2+bx+c=0

(34)

Compute sample points of the 4-variable hypersurface it defines.

PSamplePointssys&comma;R

Pbox&comma;box&comma;box&comma;box&comma;box&comma;box&comma;box&comma;box&comma;box

(35)

DisplayP&comma;R

x=−1c=12b=0a=12&comma;x=1c=12b=0a=12&comma;x=−1c=12b=0a=12&comma;x=1c=12b=0a=12&comma;x=0c=0b=12a=0&comma;x=0c=0b=12a=0&comma;x=0c=0b=0a=0&comma;x=0c=0b=0a=12&comma;x=0c=0b=0a=12

(36)

The relaxation option.

withRegularChains&colon;withSemiAlgebraicSetTools&colon;

RPolynomialRingx&comma;a&comma;b

Rpolynomial_ring

(37)

sysx2+a+bx+a=0&comma;0<xa

sysx2+a+bx+a=0&comma;0<xa

(38)

sttime&colon;rtd0RealTriangularizesys&comma;R&colon;timest

0.311

(39)

sttime&colon;rtd1RealTriangularizesys&comma;R&comma;relaxation=explicit&colon;timest

0.652

(40)

evalbnopsrtd1<nopsrtd0

true

(41)

Accessing a sample point from a CAD cell.

cadCylindricalAlgebraicDecomposex2a=0&comma;R&comma;output=cadcell

cadcad_cell&comma;cad_cell&comma;cad_cell

(42)

cccad1&semi;Displaycc&comma;R

cccad_cell

x=0a=0b=b

(43)

SamplePointscc&comma;R&comma;output=record

x=0a=0b=0

(44)

References

  

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.

  

C. Chen, J. H. Davenport, J. P. May, M. Moreno Maza, B. Xia, R. Xiao, "Triangular Decomposition of Semi-algebraic Systems." Proceedings of ISSAC 2010, ACM Press, 2010.

  

C. Chen, J. H. Davenport, M. Moreno Maza, B. Xia, R. Xiao, "Computing with semi-algebraic sets represented by triangular decomposition". Proceedings of the 2011 International Symposium on Symbolic and Algebraic Computation (ISSAC 2011), ACM Press, pp. 75--82, 2011.

  

R. Rioboo, Computation of the real closure of an ordered field. Proceedings of ISSAC'92, Academic Press, San Francisco.

  

L. Yang, X. 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. Comp., Vol. 34 No. 5 (2001): 461-477.

  

B. Xia, T. Zhang, Real Solution Isolation Using Interval Arithmetic. Computers and Mathematics with Applications, Vol. 52 (2006): 853-860.

Compatibility

• 

The RegularChains[LazyRealTriangularize] and RegularChains[SamplePoints] commands were introduced in Maple 15.

• 

For more information on Maple 15 changes, see Updates in Maple 15.

• 

The C parameter was introduced in Maple 16.

• 

The  and  options were introduced in Maple 16.

• 

For more information on Maple 16 changes, see Updates in Maple 16.

See Also

BorderPolynomial

BoxValues

CylindricalAlgebraicDecompose

Display

RealRootClassification

RealRootIsolate

RefineBox

RefineListBox

RegularChains

SemiAlgebraicSetTools

Triangularize