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

Online Help

All Products    Maple    MapleSim


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

Calling Sequence

Intersection(cs1, cs2, R)

Intersection(lrsas1, lrsas2, R)

Parameters

cs1, cs2

-

constructible sets

lrsas1, lrsas2

-

lists of regular semi-algebraic systems

R

-

polynomial ring

Description

• 

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.

Examples

withRegularChains:

withConstructibleSetTools:

withSemiAlgebraicSetTools:

First, define the polynomial ring R and two polynomials of R.

RPolynomialRingx,y,t

Rpolynomial_ring

(1)

p5t+5xy10t+7

p5t+5xy10t7

(2)

q5t5xt+2y+7t+11

q5t5xt+2y7t+11

(3)

Using the GeneralConstruct command and adding one inequality, you can build a constructible set. Using the polynomials xt and x+t for defining inequations, the two constructible sets cs1 and cs2 are different.

cs1GeneralConstructp,q,xt,R

cs1constructible_set

(4)

cs2GeneralConstructp,q,x+t,R

cs2constructible_set

(5)

The intersection of cs1 and cs2 is a new constructible set cs.

csIntersectioncs1,cs2,R

csconstructible_set

(6)

Check the result in another way.

cs3GeneralConstructp,q,x+t,xt,R

cs3constructible_set

(7)

IsContainedcs3,cs,RandIsContainedcs,cs3,R

true

(8)

The results are as desired.

Consider now the semi-algebraic case:

lrsas1RealTriangularizep,q,,,xt,R

lrsas1regular_semi_algebraic_system,regular_semi_algebraic_system

(9)

lrsas2RealTriangularizep,q,,,x+t,R

lrsas2regular_semi_algebraic_system,regular_semi_algebraic_system

(10)

lrsasIntersectionlrsas1,lrsas2,R

lrsasregular_semi_algebraic_system,regular_semi_algebraic_system

(11)

lrsas12RealTriangularizep,q,,,x+t,xt,R

lrsas12regular_semi_algebraic_system,regular_semi_algebraic_system

(12)

Verify the results

Differencelrsas,lrsas12,R

(13)

Differencelrsas12,lrsas,R

(14)

References

  

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.

Compatibility

• 

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

RegularChains

RegularChains

SemiAlgebraicSetTools