IsContained - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


PolyhedralSets[ZPolyhedralSets]

  

IsContained

  

check whether each integer point of a bounded ZPolyhedralSet is contained in one ZPolyehdralSet from a list

 

Calling Sequence

Parameters

Description

Examples

References

Compatibility

Calling Sequence

IsContained(zpoly,list)

Parameters

zpoly

-

ZPolyhedralSet object representing a bounded Z-polyhedral set.

list

-

list of ZPolyhedralSets

Description

• 

The IsContained command returns true if every integer point of zpoly is contained in one of the ZPolyhedralSet of the list list, and otherwise it returns false.

• 

If zpoly is not bounded, an error is raised.

Examples

withPolyhedralSets:

withZPolyhedralSets:

Create a Z-polyhedron in three-dimensional space.

ineqs3x2y+z7,2x+2yz12,4x+y+3z15,y25

ineqs3x2y+z7,2x+2yz12,4x+y+3z15,y−25

(1)

varsx,y,z:

zpZPolyhedralSetineqs,vars

Apply IntegerPointDecomposition to zp.

thesetIntegerPointDecompositionzp

thesetRelations:z17y−25z−25y+13z672yz484x+y+3z152x+2yz123x2y+z7Variables:x,y,zParameters:ParameterConstraints:Lattice:ZSpan100010001,,,000,Relations:x=15y=27z=16Variables:x,y,zParameters:ParameterConstraints:Lattice:ZSpan7135,,,−6−121,Relations:x=14y=25z=15Variables:x,y,zParameters:ParameterConstraints:Lattice:ZSpan7135,,,−7−140,Relations:x=18y=33z=18Variables:x,y,zParameters:ParameterConstraints:Lattice:ZSpan7135,,,−3−63,Relations:x=19y=z2+25z18z0Variables:x,y,zParameters:ParameterConstraints:Lattice:ZSpan012,,,19250

(2)

Create two other Z-polyhedra in three-dimensional space.

ineqs1x=19,y=z2+25,z0,z18

ineqs1x=19,y=z2+25,z0,z18

(3)

ineqs2x=18,y=z2+25,z0,z18

ineqs2x=18,y=z2+25,z0,z18

(4)

zp1ZPolyhedralSetineqs1,vars

zp2ZPolyhedralSetineqs2,vars

Check whether each integer point of zp1 is a point of zp.

IsContainedzp1,theset

true

(5)

Check whether each integer point of zp2 is a point of zp.

IsContainedzp2,theset

false

(6)

Double-check the above inclusion tests by using EnumerateIntegerPoints.

EnumerateIntegerPointszp

x=19,y=25,z=0,x=18,y=25,z=2,x=19,y=26,z=2,x=18,y=25,z=3,x=17,y=25,z=4,x=18,y=26,z=4,x=19,y=27,z=4,x=17,y=25,z=5,x=18,y=26,z=5,x=16,y=25,z=6,x=17,y=25,z=6,x=17,y=26,z=6,x=18,y=27,z=6,x=19,y=28,z=6,x=16,y=25,z=7,x=17,y=26,z=7,x=18,y=27,z=7,x=15,y=25,z=8,x=16,y=25,z=8,x=16,y=26,z=8,x=17,y=26,z=8,x=17,y=27,z=8,x=18,y=28,z=8,x=19,y=29,z=8,x=15,y=25,z=9,x=16,y=25,z=9,x=16,y=26,z=9,x=17,y=27,z=9,x=18,y=28,z=9,x=14,y=25,z=10,x=15,y=25,z=10,x=15,y=26,z=10,x=16,y=26,z=10,x=16,y=27,z=10,x=17,y=27,z=10,x=17,y=28,z=10,x=18,y=29,z=10,x=19,y=30,z=10,x=14,y=25,z=11,x=15,y=25,z=11,x=15,y=26,z=11,x=16,y=26,z=11,x=16,y=27,z=11,x=17,y=28,z=11,x=18,y=29,z=11,x=13,y=25,z=12,x=14,y=25,z=12,x=15,y=25,z=12,x=14,y=26,z=12,x=15,y=26,z=12,x=15,y=27,z=12,x=16,y=27,z=12,x=16,y=28,z=12,x=17,y=28,z=12,x=17,y=29,z=12,x=18,y=30,z=12,x=19,y=31,z=12,x=13,y=25,z=13,x=14,y=25,z=13,x=14,y=26,z=13,x=15,y=26,z=13,x=15,y=27,z=13,x=16,y=27,z=13,x=16,y=28,z=13,x=17,y=29,z=13,x=18,y=30,z=13,x=13,y=25,z=14,x=14,y=25,z=14,x=14,y=26,z=14,x=15,y=26,z=14,x=14,y=27,z=14,x=15,y=27,z=14,x=15,y=28,z=14,x=16,y=28,z=14,x=16,y=29,z=14,x=17,y=29,z=14,x=17,y=30,z=14,x=18,y=31,z=14,x=19,y=32,z=14,x=14,y=25,z=15,x=14,y=26,z=15,x=15,y=27,z=15,x=15,y=28,z=15,x=16,y=28,z=15,x=16,y=29,z=15,x=17,y=30,z=15,x=18,y=31,z=15,x=15,y=27,z=16,x=16,y=29,z=16,x=16,y=30,z=16,x=17,y=30,z=16,x=17,y=31,z=16,x=18,y=32,z=16,x=19,y=33,z=16,x=17,y=31,z=17,x=18,y=32,z=17,x=18,y=33,z=18,x=19,y=34,z=18

(7)

EnumerateIntegerPointszp1

x=19,y=25,z=0,x=19,y=26,z=2,x=19,y=27,z=4,x=19,y=28,z=6,x=19,y=29,z=8,x=19,y=30,z=10,x=19,y=31,z=12,x=19,y=32,z=14,x=19,y=33,z=16,x=19,y=34,z=18

(8)

EnumerateIntegerPointszp2

x=18,y=25,z=0,x=18,y=26,z=2,x=18,y=27,z=4,x=18,y=28,z=6,x=18,y=29,z=8,x=18,y=30,z=10,x=18,y=31,z=12,x=18,y=32,z=14,x=18,y=33,z=16,x=18,y=34,z=18

(9)

References

  

Rachid Seghir, Vincent Loechner, and Benoı̂t Meister. "Integer affine transformations of parametric Z-polytopes and applications to loop nest optimization." Proceedings of TACO, Vol. 9(2):8:1–8:27, 2012.

  

Rui-Juan Jing and Marc Moreno Maza. "Computing the Integer Points of a Polyhedron, I: Algorithm." Proceedings of CASC 2017: 225-241, Springer.

  

Rui-Juan Jing and Marc Moreno Maza. "Computing the Integer Points of a Polyhedron, II: Complexity Estimates." Proceedings of CASC 2017: 242-256, Springer.

Compatibility

• 

The PolyhedralSets:-ZPolyhedralSets:-IsContained command was introduced in Maple 2023.

• 

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

See Also

ZPolyhedralSets:-IsEmpty

ZPolyhedralSets:-IsIntegerPointOf

ZPolyhedralSets:-SamplePoint

ZPolyhedralSets:-IntegerPointDecomposition

ZPolyhedralSets:-EnumerateIntegerPoints

ZPolyhedralSets:-ZPolyhedralSet

ZPolyhedralSets

PolyhedralSets