RegularChains
ConstructibleSetTools[Intersection]
compute the intersection of two constructible sets
SemiAlgebraicSetTools[Intersection]
compute the intersection of two semi-algebraic sets
Calling Sequence
Parameters
Description
Examples
References
Compatibility
Intersection(cs1, cs2, R)
Intersection(lrsas1, lrsas2, R)
cs1, cs2
-
constructible sets
lrsas1, lrsas2
lists of regular semi-algebraic systems
R
polynomial ring
This command computes the set-theoretic intersection of two constructible sets, or two semi-algebraic set, depending on the input type of its arguments.
A constructible set must be encoded as an constructible_set object, see the type definition in ConstructibleSetTools.
A semi-algebraic set must be encoded by a list of regular_semi_algebraic_system, see the type definition in RealTriangularize.
The command Intersection(cs1, cs2, R) returns the intersection of two constructible sets. The polynomial ring may have characteristic zero or a prime characteristic.
The command Intersection(lrsas1, lrsas2, R) returns the intersection of two semi-algebraic sets, encoded by list of regular_semi_algebraic_system. The polynomial ring must have characteristic zero.
This command is available once RegularChains[ConstructibleSetTools] submodule or RegularChains[SemiAlgebraicSetTools] submodule have been loaded. It can always be accessed through one of the following long forms: RegularChains:-ConstructibleSetTools:-Intersection or RegularChains:-SemiAlgebraicSetTools:-Intersection.
with⁡RegularChains:
with⁡ConstructibleSetTools:
with⁡SemiAlgebraicSetTools:
First, define the polynomial ring R and two polynomials of R.
R≔PolynomialRing⁡x,y,t
R≔polynomial_ring
p≔5⁢t+5⁢x−y−10⁢t+7
p≔5⁢t+5⁢x−y−10⁢t−7
q≔5⁢t−5⁢x−t+2⁢y+−7⁢t+11
q≔5⁢t−5⁢x−t+2⁢y−7⁢t+11
Using the GeneralConstruct command and adding one inequality, you can build a constructible set. Using the polynomials x−t and x+t for defining inequations, the two constructible sets cs1 and cs2 are different.
cs1≔GeneralConstruct⁡p,q,x−t,R
cs1≔constructible_set
cs2≔GeneralConstruct⁡p,q,x+t,R
cs2≔constructible_set
The intersection of cs1 and cs2 is a new constructible set cs.
cs≔Intersection⁡cs1,cs2,R
cs≔constructible_set
Check the result in another way.
cs3≔GeneralConstruct⁡p,q,x+t,x−t,R
cs3≔constructible_set
IsContained⁡cs3,cs,RandIsContained⁡cs,cs3,R
true
The results are as desired.
Consider now the semi-algebraic case:
lrsas1≔RealTriangularize⁡p,q,,,x−t,R
lrsas1≔regular_semi_algebraic_system,regular_semi_algebraic_system
lrsas2≔RealTriangularize⁡p,q,,,x+t,R
lrsas2≔regular_semi_algebraic_system,regular_semi_algebraic_system
lrsas≔Intersection⁡lrsas1,lrsas2,R
lrsas≔regular_semi_algebraic_system,regular_semi_algebraic_system
lrsas12≔RealTriangularize⁡p,q,,,x+t,x−t,R
lrsas12≔regular_semi_algebraic_system,regular_semi_algebraic_system
Verify the results
Difference⁡lrsas,lrsas12,R
Difference⁡lrsas12,lrsas,R
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.; Davenport, J.-D.; Moreno Maza, M.; Xia, B.; and Xiao, R. "Computing with semi-algebraic sets represented by triangular decomposition". Proceedings of 2011 International Symposium on Symbolic and Algebraic Computation (ISSAC 2011), ACM Press, pp. 75--82, 2011.
The RegularChains[SemiAlgebraicSetTools][Intersection] command was introduced in Maple 16.
The lrsas1 parameter was introduced in Maple 16.
For more information on Maple 16 changes, see Updates in Maple 16.
See Also
Complement
ConstructibleSet
ConstructibleSetTools
Difference
GeneralConstruct
RealTriangularize
SemiAlgebraicSetTools
Download Help Document