Intersection - Maple Help

RegularChains

 ConstructibleSetTools[Intersection]
 compute the intersection of two constructible sets
 SemiAlgebraicSetTools[Intersection]
 compute the intersection of two semi-algebraic sets

 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

 > $\mathrm{with}\left(\mathrm{RegularChains}\right):$
 > $\mathrm{with}\left(\mathrm{ConstructibleSetTools}\right):$
 > $\mathrm{with}\left(\mathrm{SemiAlgebraicSetTools}\right):$

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

 > $R≔\mathrm{PolynomialRing}\left(\left[x,y,t\right]\right)$
 ${R}{≔}{\mathrm{polynomial_ring}}$ (1)
 > $p≔\left(5t+5\right)x-y-\left(10t+7\right)$
 ${p}{≔}\left({5}{}{t}{+}{5}\right){}{x}{-}{y}{-}{10}{}{t}{-}{7}$ (2)
 > $q≔\left(5t-5\right)x-\left(t+2\right)y+\left(-7t+11\right)$
 ${q}{≔}\left({5}{}{t}{-}{5}\right){}{x}{-}\left({t}{+}{2}\right){}{y}{-}{7}{}{t}{+}{11}$ (3)

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.

 > $\mathrm{cs1}≔\mathrm{GeneralConstruct}\left(\left[p,q\right],\left[x-t\right],R\right)$
 ${\mathrm{cs1}}{≔}{\mathrm{constructible_set}}$ (4)
 > $\mathrm{cs2}≔\mathrm{GeneralConstruct}\left(\left[p,q\right],\left[x+t\right],R\right)$
 ${\mathrm{cs2}}{≔}{\mathrm{constructible_set}}$ (5)

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

 > $\mathrm{cs}≔\mathrm{Intersection}\left(\mathrm{cs1},\mathrm{cs2},R\right)$
 ${\mathrm{cs}}{≔}{\mathrm{constructible_set}}$ (6)

Check the result in another way.

 > $\mathrm{cs3}≔\mathrm{GeneralConstruct}\left(\left[p,q\right],\left[x+t,x-t\right],R\right)$
 ${\mathrm{cs3}}{≔}{\mathrm{constructible_set}}$ (7)
 > $\mathrm{IsContained}\left(\mathrm{cs3},\mathrm{cs},R\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{and}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{IsContained}\left(\mathrm{cs},\mathrm{cs3},R\right)$
 ${\mathrm{true}}$ (8)

The results are as desired.

Consider now the semi-algebraic case:

 > $\mathrm{lrsas1}≔\mathrm{RealTriangularize}\left(\left[p,q\right],\left[\right],\left[\right],\left[x-t\right],R\right)$
 ${\mathrm{lrsas1}}{≔}\left[{\mathrm{regular_semi_algebraic_system}}{,}{\mathrm{regular_semi_algebraic_system}}\right]$ (9)
 > $\mathrm{lrsas2}≔\mathrm{RealTriangularize}\left(\left[p,q\right],\left[\right],\left[\right],\left[x+t\right],R\right)$
 ${\mathrm{lrsas2}}{≔}\left[{\mathrm{regular_semi_algebraic_system}}{,}{\mathrm{regular_semi_algebraic_system}}\right]$ (10)
 > $\mathrm{lrsas}≔\mathrm{Intersection}\left(\mathrm{lrsas1},\mathrm{lrsas2},R\right)$
 ${\mathrm{lrsas}}{≔}\left[{\mathrm{regular_semi_algebraic_system}}{,}{\mathrm{regular_semi_algebraic_system}}\right]$ (11)
 > $\mathrm{lrsas12}≔\mathrm{RealTriangularize}\left(\left[p,q\right],\left[\right],\left[\right],\left[x+t,x-t\right],R\right)$
 ${\mathrm{lrsas12}}{≔}\left[{\mathrm{regular_semi_algebraic_system}}{,}{\mathrm{regular_semi_algebraic_system}}\right]$ (12)

Verify the results

 > $\mathrm{Difference}\left(\mathrm{lrsas},\mathrm{lrsas12},R\right)$
 $\left[\right]$ (13)
 > $\mathrm{Difference}\left(\mathrm{lrsas12},\mathrm{lrsas},R\right)$
 $\left[\right]$ (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.