LevelSet

class LevelSet(*args)

Level set.

Parameters:
functionFunction

A function such that: f: \Rset^{dim} \mapsto \Rset defining the LevelSet.

operatorComparisonOperator, optional

Comparison operator against the level. The default value is LessOrEqual.

levelfloat, optional

Level s defining the LevelSet. The default value is 0.0.

Methods

computeDistance(*args)

Compute the Euclidean distance of a given point to the domain.

contains(*args)

Check if the given point is inside of the domain.

getClassName()

Accessor to the object's name.

getDimension()

Get the dimension of the domain.

getFunction()

Get the function defining the level set.

getLevel()

Get the level defining the level set.

getLowerBound()

Get the lower bound of the bounding box.

getName()

Accessor to the object's name.

getOperator()

Operator accessor.

getUpperBound()

Get the upper bound of the bounding box.

hasName()

Test if the object is named.

intersect(other)

Return the intersection with another LevelSet.

join(other)

Return the union with another LevelSet.

setFunction(function)

Set the function defining the level set.

setLevel(level)

Set the level defining the level set.

setLowerBound(bound)

Set the lower bound of the bounding box.

setName(name)

Accessor to the object's name.

setOperator(op)

Operator accessor.

setUpperBound(bound)

Set the upper bound of the bounding box.

Notes

A LevelSet is a Domain defined as follows:

\{ \vect{x} \in \Rset^{dim} \, | \, f(\vect{x}) \leq s \}

Examples

>>> import openturns as ot
>>> function = ot.SymbolicFunction(['x1', 'x2'], ['x1^4 + x2^4'])
>>> s = 1.0
>>> op = ot.LessOrEqual()
>>> levelSet = ot.LevelSet(function, op, s)
__init__(*args)
computeDistance(*args)

Compute the Euclidean distance of a given point to the domain.

Parameters:
point or samplesequence of float or 2-d sequence of float

Point or Sample with the same dimension as the current domain’s dimension.

Returns:
distancefloat or Sample

Euclidean distance of the point to the domain.

contains(*args)

Check if the given point is inside of the domain.

Parameters:
point or samplesequence of float or 2-d sequence of float

Point or Sample with the same dimension as the current domain’s dimension.

Returns:
isInsidebool or sequence of bool

Flag telling whether the given point is inside of the domain.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getDimension()

Get the dimension of the domain.

Returns:
dimint

Dimension of the domain.

getFunction()

Get the function defining the level set.

Returns:
functionFunction

A function such that: f: \Rset^{dim} \mapsto \Rset defining the LevelSet.

Examples

>>> import openturns as ot
>>> function = ot.SymbolicFunction(['x'], ['3*x-1'])
>>> levelSet = ot.LevelSet(function, ot.LessOrEqual(), 0.0)
>>> print(levelSet.getFunction().getEvaluation())
[x]->[3*x-1]
getLevel()

Get the level defining the level set.

Returns:
levelfloat

Level s defining the LevelSet.

Examples

>>> import openturns as ot
>>> function = ot.SymbolicFunction(['x'], ['3*x-1'])
>>> levelSet = ot.LevelSet(function, ot.LessOrEqual(), 0.0)
>>> print(levelSet.getLevel())
0.0
getLowerBound()

Get the lower bound of the bounding box.

Returns:
boundPoint

Lower bound of the bounding box of the level set. It allows one to clip the level set.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getOperator()

Operator accessor.

Returns:
opComparisonOperator

Comparison operator against the level.

getUpperBound()

Get the upper bound of the bounding box.

Returns:
boundPoint

Upper bound of the bounding box of the level set. It allows one to clip the level set.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

intersect(other)

Return the intersection with another LevelSet.

Parameters:
otherLevelSet

A LevelSet defined by (f_2, s_2).

Returns:
levelSetLevelSet

The intersection between this LevelSet and the LevelSet other, i.e. the LevelSet defined as: \{\vect{x} \in \Rset^{dim} | f(\vect{x}) \leq s \, \mbox{and} \, f_2(\vect{x}) \leq s_2\}.

Examples

>>> import openturns as ot
>>> # First level set
>>> function = ot.SymbolicFunction(['x'], ['3*x-1'])
>>> levelSet1 = ot.LevelSet(function, ot.LessOrEqual(), 0.5)
>>> # Second level set
>>> function = ot.SymbolicFunction(['x'], ['x'])
>>> levelSet2 = ot.LevelSet(function, ot.LessOrEqual(), 0.5)
>>> # Intersection between levelSet1 and levelSet2
>>> intersection = levelSet1.intersect(levelSet2)
>>> # Tests
>>> print([1.0] in intersection)
False
>>> print([0.25] in intersection)
True
join(other)

Return the union with another LevelSet.

Parameters:
otherLevelSet

A LevelSet defined by (f_2, s_2).

Returns:
levelSetLevelSet

The union between this LevelSet and the LevelSet other, i.e. the LevelSet defined as: \{\vect{x} \in \Rset^{dim} | f(\vect{x}) \leq s \, \mbox{or} \, f_2(\vect{x}) \leq s_2\}.

Examples

>>> import openturns as ot
>>> # First level set
>>> function = ot.SymbolicFunction(['x'], ['3*x-1'])
>>> levelSet1 = ot.LevelSet(function, ot.LessOrEqual(), 0.0)
>>> # Second level set
>>> function = ot.SymbolicFunction(['x'], ['x'])
>>> levelSet2 = ot.LevelSet(function, ot.LessOrEqual(), 0.0)
>>> # Union between levelSet1 and levelSet2
>>> union = levelSet1.join(levelSet2)
>>> # Tests
>>> print([0.5] in union)
False
>>> print([0.25] in union)
True
setFunction(function)

Set the function defining the level set.

Parameters:
functionFunction

A function such that: f: \Rset^{dim} \mapsto \Rset defining the LevelSet.

Examples

>>> import openturns as ot
>>> levelSet = ot.LevelSet()
>>> function = ot.SymbolicFunction(['x'], ['3*x-1'])
>>> levelSet.setFunction(function)
setLevel(level)

Set the level defining the level set.

Parameters:
levelfloat

Level s defining the LevelSet.

Examples

>>> import openturns as ot
>>> levelSet = ot.LevelSet()
>>> levelSet.setLevel(3.0)
setLowerBound(bound)

Set the lower bound of the bounding box.

Parameters:
boundsequence of floats

Lower bound of the bounding box of the level set. It allows one to clip the level set.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setOperator(op)

Operator accessor.

Parameters:
opComparisonOperator

Comparison operator against the level.

setUpperBound(bound)

Set the upper bound of the bounding box.

Parameters:
boundsequence of floats

Upper bound of the bounding box of the level set. It allows one to clip the level set.

Examples using the class

Draw minimum volume level sets

Draw minimum volume level sets