RegularChains[ParametricSystemTools]
ComprehensiveTriangularize
compute a comprehensive triangular decomposition of a parametric polynomial system
RealComprehensiveTriangularize
compute a comprehensive triangular decomposition over the reals of a parametric polynomial system
Calling Sequence
Parameters
Description
Examples
References
Compatibility
ComprehensiveTriangularize(F, d, R)
ComprehensiveTriangularize(F, H, d, R)
ComprehensiveTriangularize(CS, d, R)
ComprehensiveTriangularize(F, d, R, 'disjoint'='yes')
ComprehensiveTriangularize(F, H, d, R, 'disjoint'='yes')
ComprehensiveTriangularize(CS, d, R, 'disjoint'='yes')
ComprehensiveTriangularize(F, d, R, 'output'='piecewise')
ComprehensiveTriangularize(F, H, d, R, 'output'='piecewise')
ComprehensiveTriangularize(CS, d, R, 'output'='piecewise')
RealComprehensiveTriangularize(sys, d, R)
RealComprehensiveTriangularize(sys, d, R, 'output'='semialgebraicset')
RealComprehensiveTriangularize(sys, d, R, 'output'='cadcell')
RealComprehensiveTriangularize(F, N, P, H, d, R)
RealComprehensiveTriangularize(F, N, P, H, d, R, 'output'='semialgebraicset')
RealComprehensiveTriangularize(F, N, P, H, d, R, 'output'='cadcell')
RealComprehensiveTriangularize(rctd, R, n)
RealComprehensiveTriangularize(rctd, R, n..'infinity')
RealComprehensiveTriangularize(rctd, R, 'infinity')
RealComprehensiveTriangularize(rctd, R, n..'finite')
RealComprehensiveTriangularize(rctd, R, 'finite')
RealComprehensiveTriangularize(sys, R, n)
RealComprehensiveTriangularize(sys, R, n..'infinity')
RealComprehensiveTriangularize(sys, R, 'infinity')
RealComprehensiveTriangularize(sys, R, n..'finite')
RealComprehensiveTriangularize(sys, R, 'finite')
F
-
list of polynomials
d
number of parameters
R
polynomial ring
H
CS
constructible set
sys
semi-algebraic system
N
P
rctd
data-structure returned by RealComprehensiveTriangularize
n
prescribed number of solutions
n..'infinity'
at least n solutions
'infinity'
infinitely many solutions
n..'finite'
finitely many and at least n solutions
'finite'
finitely many solutions
'disjoint'='yes'
(optional) boolean flag
'output'='piecewise'
'output'=semialgebraicset'
'output'='cadcell'
The command ComprehensiveTriangularize(CS, d, R) returns a comprehensive triangular decomposition (CTD) of the constructible set CS, with respect to the last d variables of R.
The command ComprehensiveTriangularize(F, H, d, R) returns a comprehensive triangular decomposition (CTD) of the constructible set V(F)-V(H), with respect to the last d variables of R.
The command ComprehensiveTriangularize(F, d, R) returns a comprehensive triangular decomposition (CTD) of the variety V(F), with respect to the last d variables of R.
The output of ComprehensiveTriangularize(CS, d, R) consists of two parts. The first part is a pre-comprehensive triangular decomposition S of CS with respect to the last d variables of R.
The second part is a list L of pairs; the first item of each pair is a constructible set and the second item is a list of indices (positive integers) such that the union of these constructible sets forms a partition of the projection of CS onto the parameter space. Moreover, for each part (or cell) C, the list of positive integers associated with it gives the positions of the regular chains in S satisfying the following property: for each parameter value u in C, those regular chains specialized at u form a triangular decomposition of CS specialized at u.
If 'disjoint'='yes' is present, the computed CTD satisfies two additional properties. First, each regular system in S is square-free. Secondly, for each part (or cell) C, the regular chains associated with C separate disjointly at any parameter value u of C, that is, those regular chains specialize at u into square-free regular chains whose quasi-components are pairwise disjoint.
If 'output'='piecewise' is present, the output is organized as a tree. More precisely the cells in the parameter space are organized in a natural manner as a tree.
The command RealComprehensiveTriangularize(sys, d, R) returns a real comprehensive triangular decomposition (RCTD) of the semi-algebraic system sys, with respect to the last d variables of R. These last d are regarded as the parameters of sys. The constraints in sys can be any polynomial equations, inequations or inequalities given by polynomials of R. The zero set of sys is the set of the real solutions of the polynomial system defined by sys.
The command RealComprehensiveTriangularize(F, N, P, H, d, R) returns a RCTD of the semi-algebraic system defined by F, N, P, H and with respect to the last d variables of R. See SemiAlgebraicSetTools or RealTriangularize for the specification of the semi-algebraic system defined by four polynomial lists F, N, P, H.
All uses of RealComprehensiveTriangularize assume that R has characteristic zero and no parameters, such that the base field of R is the field of rational numbers.
The output of RealComprehensiveTriangularize(sys, d, R) or RealComprehensiveTriangularize(F, N, P, H, d, R) is a list of two items.
The first one is a list systems of square-free triangular semi-algebraic systems and the second one is a list cells of semi-algebraic sets forming a partition of the parameter space. Above each of these semi-algebraic sets, the solutions of the input semi-algebraic system is described by a subset of systems, using the same indexing convention as for ComprehensiveTriangularize.
Each of these semi-algebraic sets is a disjoint union of CAD cells; these cells are connected such that the solutions above a cell depend continuously on the parameters of that cell. Moreover, if the input system admits finitely many solutions above that cell, then the graphs of the functions (from the corresponding items in systems) describing those solutions are disjoint.
These properties make it possible to count the number of real solutions of the input system depending on the parameters. For this reason the output rctd of RealComprehensiveTriangularize(sys, d, R) or RealComprehensiveTriangularize(F, N, P, H, d, R) can be used as first input argument of RealComprehensiveTriangularize together with a prescribed number or number range of solution. In this case only the items of systems and cells corresponding to the prescribed number or number range are returned. See the examples below.
output=cadcell and output=semialgebraicset options controls the representation of the output format. The default is semialgebraicset.
For a mathematical definition of the type regular_chain, see the page RegularChains.
For mathematical definitions of the types regular_system and constructible_set, see the page ConstructibleSetTools.
For mathematical definitions of the types squarefree_semi_algebraic_system, semi_algebraic_set and cad_cell, see the page SemiAlgebraicSetTools.
with⁡RegularChains:with⁡ConstructibleSetTools:with⁡ParametricSystemTools:
R≔PolynomialRing⁡x,y,s
R≔polynomial_ring
F≔s−y+1⁢x,s−x+1⁢y
A comprehensive triangular decomposition of F with respect to parameter s is as follows.
pctd,cells≔ComprehensiveTriangularize⁡F,1,R
pctd,cells≔regular_chain,regular_chain,regular_chain,constructible_set,3,2,constructible_set,1
The first part of the output is the pre-comprehensive triangular decomposition of F which consists of three regular chains.
pctd
regular_chain,regular_chain,regular_chain
map⁡Info,pctd,R
y+1⁢x−s,y2+y−s,x+1,y+1,s,x,y,s
The projection of V(F) onto the parameter space has been partitioned into two disjoint constructible sets.
cs1≔cells11;Info⁡cs1,R
cs1≔constructible_set
s,1
cs2≔cells21;Info⁡cs2,R
cs2≔constructible_set
,s
Thus, when the parameter value s is in cs1, the last two regular chains (after specialization) form a triangular decomposition of F(s). Otherwise, s is in cs2, then the first regular chain forms a triangular decomposition of F(s).
Computing a CTD of a constructible set:
H≔x+y−1
cs≔GeneralConstruct⁡F,H,R
cs≔constructible_set
ComprehensiveTriangularize⁡cs,1,R
regular_system,regular_system,regular_system,regular_system,constructible_set,1,constructible_set,2,4,constructible_set,3
When the option 'disjoint'='yes' is present, the format of the output is changed a little bit: the partition of the parameter space is given by the union of the constructible sets (the right items in the pairs) whereas the pre-comprehensive triangular decomposition is given by the union of the regular systems (the left items in the pairs). In each pair, the regular system is a component of the input system above the associated constructible set.
ComprehensiveTriangularize⁡cs,1,R,disjoint=yes
regular_system,regular_system,regular_system,regular_system,regular_system,constructible_set,1,constructible_set,2,4,constructible_set,5,constructible_set,3
Illustrate the piecewise formatting of the output
ComprehensiveTriangularize⁡F,H,1,R,output=piecewise
y2+y−s=0,x⁢y−s+x=0,y+1≠0,−y+2⁢s−1≠0s≠0∧4⁢s−3≠0s=0,x+1=0,y+1=0,s=0,x=0,y=0s=04⁢s−3=0,2⁢x+3=0,2⁢y+3=04⁢s−3=0
ComprehensiveTriangularize⁡F,H,1,R,disjoint=yes,output=piecewise
y2+y−s=0,x⁢y−s+x=0,y+1≠0,−y+2⁢s−1≠0s≠0∧4⁢s−3≠0∧4⁢s+1≠0s=0,x+1=0,y+1=0,s=0,x=0,y=0s=04⁢s−3=0,2⁢x+3=0,2⁢y+3=04⁢s−3=04⁢s+1=0,2⁢x+1=0,2⁢y+1=04⁢s+1=0
The following examples illustrate the use of RealComprehensiveTriangularize.
Define a polynomial ring and a parametric polynomial.
R≔PolynomialRing⁡x,c,b,a
f≔a⁢x2+b⁢x+c
Solve for the real solutions of f with a>0 regarding a, b, c as parameters.
rctd≔RealComprehensiveTriangularize⁡f=0,0<a,3,R
rctd≔1,squarefree_semi_algebraic_system,2,squarefree_semi_algebraic_system,semi_algebraic_set,,semi_algebraic_set,1,semi_algebraic_set,2
Display the systems defining the possible solutions
Display⁡rctd1,R
1,a⁢x2+b⁢x+c=0,2,2⁢a⁢x+b=0
Display the cells partitioning the parameter space
Display⁡rctd2,R
c<b24⁢ab=ba<0,c=b24⁢ab=ba<0,b24⁢a<cb=ba<0,c=cb=ba=0,b24⁢a<cb=b0<a,,c<b24⁢ab=b0<a,1,c=b24⁢ab=b0<a,2
Ask for the cases with 2 distinct real solutions.
rctd≔RealComprehensiveTriangularize⁡rctd,R,2
rctd≔1,squarefree_semi_algebraic_system,semi_algebraic_set,1
Display the solutions and the parameter cells.
Display⁡rctd,R
1,a⁢x2+b⁢x+c=0,c<b24⁢ab=b0<a,1
Ask for the cases where f=0 has infinitely many solutions.
rctd≔RealComprehensiveTriangularize⁡f=0,3,R,∞
1,true,c=0b=0a=0,1
Ask for the cases where f=0 has 2 distinct real solutions.
rctd≔RealComprehensiveTriangularize⁡f=0,3,R,2
1,a⁢x2+b⁢x+c=0,b24⁢a<cb=ba<0,c<b24⁢ab=b0<a,1
Use the cadcell output format.
rctd≔RealComprehensiveTriangularize⁡f=0,3,R,2,output=cadcell
rctd≔1,squarefree_semi_algebraic_system,cad_cell,1,cad_cell,1
Consider another example.
R≔PolynomialRing⁡x,c,b,a;f≔a⁢x3+b⁢x+c
f≔a⁢x3+x⁢b+c
rctd≔1,squarefree_semi_algebraic_system,2,squarefree_semi_algebraic_system,3,squarefree_semi_algebraic_system,semi_algebraic_set,,semi_algebraic_set,1,semi_algebraic_set,2,semi_algebraic_set,3
1,a⁢x3+b⁢x+c=0,2,4⁢b2⁢a⁢x2−6⁢c⁢b⁢a⁢x+9⁢c2⁢a+4⁢b3=0,3,x=0
c=cb<0a<0,c<0b=0a<0,c=0b=0a<0,0<cb=0a<0,c<2⁢−3⁢a⁢b39⁢a0<ba<0,c=2⁢−3⁢a⁢b39⁢a0<ba<0,2⁢−3⁢a⁢b39⁢a<c∧c<−2⁢−3⁢a⁢b39⁢a0<ba<0,c=−2⁢−3⁢a⁢b39⁢a0<ba<0,−2⁢−3⁢a⁢b39⁢a<c0<ba<0,c=cb=ba=0,,c<−2⁢−3⁢a⁢b39⁢ab<00<a,−2⁢−3⁢a⁢b39⁢a<c∧c<2⁢−3⁢a⁢b39⁢ab<00<a,2⁢−3⁢a⁢b39⁢a<cb<00<a,c<0b=00<a,0<cb=00<a,c=c0<b0<a,1,c=−2⁢−3⁢a⁢b39⁢ab<00<a,c=2⁢−3⁢a⁢b39⁢ab<00<a,2,c=0b=00<a,3
Chen, C.; Golubitsky, O.; Lemaire, F.; Moreno Maza, M.; and Pan, W. "Comprehensive Triangular Decomposition." Proc. CASC 2007, LNCS Vol. 4770: 73-101. Springer, 2007.
Chen, C.; and Moreno Maza, M. "Semi-algebraic description of the equilibria of dynamical systems." Proc. Cof the 2011 International Workshop on Computer Algebra in Scientific Computing (CASC 2011), LNCS Vol. 6885: 101-125. Springer, 2011.
The RegularChains[ParametricSystemTools][RealComprehensiveTriangularize] command was introduced in Maple 16.
The sys, N, P, rctd, n, 'infinity', 'finite', 'output'= and 'output'='cadcell' parameters were introduced in Maple 16.
For more information on Maple 16 changes, see Updates in Maple 16.
See Also
ConstructibleSet
CylindricalAlgebraicDecompose
CylindricalDecompose
DefiningSet
DiscriminantSet
Info
ParametricSystemTools
PreComprehensiveTriangularize
Projection
RealTriangularize
RegularChains
SemiAlgebraicSetTools
SeparateZeros
Triangularize
Download Help Document