# Interval¶

class Interval(*args)

Numerical interval.

Available constructors:

Interval(dim=0)

Interval(lowerBound, upperBound, finiteLowerBound=[True]*dim, finiteUpperBound=[True]*dim)

Parameters: dim : int, Dimension of the interval. If only dim is mentioned, it leads to create the finite interval . By default, an empty interval is created. lowerBound, upperBound : float or sequence of float of dimension dim Define an interval . It is allowed to have for some : it simply defines an empty interval. The lowerBound and the upperBound must be of the same type. If finiteLowerBound and finiteUpperBound are mentioned, they must be sequences. finiteLowerBound : sequence of bool of dimension dim Flags telling for each component of the lower bound whether it is finite or not. finiteUpperBound : sequence of bool of dimension dim Flags telling for each component of the upper bound whether it is finite or not.

Notes

The meaning of a flag is: if flag is True, the corresponding component of the given bound is finite and its value is given by bound . If not, the corresponding component is infinite and its value is either if bound or if bound .

It is possible to add or subtract two intervals and multiply an interval by a scalar.

Examples

>>> import openturns as ot
>>> # A finite interval
>>> print(ot.Interval([2.0, 3.0], [4.0, 5.0]))
[2, 4]
[3, 5]
>>> # Not finite intervals
>>> a = 2.0
>>> print(ot.Interval([a], [1], [True], [False]))
[2, (1) +inf[
>>> print(ot.Interval([1], [a], [False], [True]))
]-inf (1), 2]
>>> # Operations with intervals:
>>> interval1 = ot.Interval([2.0, 3.0], [5.0, 8.0])
>>> interval2 = ot.Interval([1.0, 4.0], [6.0, 13.0])
>>> print(interval1 + interval2)
[3, 11]
[7, 21]
>>> # Subtraction
>>> print(interval1 - interval2)
[-4, 4]
[-10, 4]
>>> # Multiplication
>>> print(interval1 * 3)
[6, 15]
[9, 24]


Methods

 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. getFiniteLowerBound() Tell for each component of the lower bound whether it is finite or not. getFiniteUpperBound() Tell for each component of the upper bound whether it is finite or not. getId() Accessor to the object’s id. getLowerBound() Get the lower bound. getMarginal(*args) Marginal accessor. getName() Accessor to the object’s name. getShadowedId() Accessor to the object’s shadowed id. getUpperBound() Get the upper bound. getVisibility() Accessor to the object’s visibility state. getVolume() Get the volume of the interval. hasName() Test if the object is named. hasVisibleName() Test if the object has a distinguishable name. intersect(other) Get the intersection with an other interval. isEmpty() Check if the interval is empty. isNumericallyEmpty() Check if the interval is numerically empty. join(other) Get the smallest interval containing both the current interval and another one. numericallyContains(point) Check if the given point is inside of the discretization of the interval. setFiniteLowerBound(finiteLowerBound) Tell for each component of the lower bound whether it is finite or not. setFiniteUpperBound(finiteUpperBound) Tell for each component of the upper bound whether it is finite or not. setLowerBound(lowerBound) Set the lower bound. setName(name) Accessor to the object’s name. setShadowedId(id) Accessor to the object’s shadowed id. setUpperBound(upperBound) Set the upper bound. setVisibility(visible) Accessor to the object’s visibility state.
__init__(*args)

Initialize self. See help(type(self)) for accurate signature.

contains(*args)

Check if the given point is inside of the domain.

Parameters: point : sequence of float Point with the same dimension as the current domain’s dimension. isInside : bool Flag telling whether the given point is inside of the domain.
getClassName()

Accessor to the object’s name.

Returns: class_name : str The object class name (object.__class__.__name__).
getDimension()

Get the dimension of the domain.

Returns: dim : int Dimension of the domain.
getFiniteLowerBound()

Tell for each component of the lower bound whether it is finite or not.

Returns: flags : BoolCollection If the element is False, the corresponding component of the lower bound is infinite. Otherwise, it is finite.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([2.0, 3.0], [4.0, 5.0], [True, False], [True, True])
>>> print(interval.getFiniteLowerBound())
[1,0]

getFiniteUpperBound()

Tell for each component of the upper bound whether it is finite or not.

Returns: flags : BoolCollection If the element is False, the corresponding component of the upper bound is infinite. Otherwise, it is finite.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([2.0, 3.0], [4.0, 5.0], [True, False], [True, True])
>>> print(interval.getFiniteUpperBound())
[1,1]

getId()

Accessor to the object’s id.

Returns: id : int Internal unique identifier.
getLowerBound()

Get the lower bound.

Returns: lowerBound : Point Value of the lower bound.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([2.0, 3.0], [4.0, 5.0], [True, False], [True, True])
>>> print(interval.getLowerBound())
[2,3]

getMarginal(*args)

Marginal accessor.

Parameters: index : int or sequence of int Index or indices of the selected components. interval : Interval The marginal interval.
getName()

Accessor to the object’s name.

Returns: name : str The name of the object.
getShadowedId()

Accessor to the object’s shadowed id.

Returns: id : int Internal unique identifier.
getUpperBound()

Get the upper bound.

Returns: upperBound : Point Value of the upper bound.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([2.0, 3.0], [4.0, 5.0], [True, False], [True, True])
>>> print(interval.getUpperBound())
[4,5]

getVisibility()

Accessor to the object’s visibility state.

Returns: visible : bool Visibility flag.
getVolume()

Get the volume of the interval.

Returns: volume : float Volume contained within interval bounds.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([2.0, 3.0], [4.0, 5.0], [True, False], [True, True])
>>> print(interval.getVolume())
4.0

hasName()

Test if the object is named.

Returns: hasName : bool True if the name is not empty.
hasVisibleName()

Test if the object has a distinguishable name.

Returns: hasVisibleName : bool True if the name is not empty and not the default one.
intersect(other)

Get the intersection with an other interval.

Parameters: otherInterval : Interval Interval of the same dimension. interval : Interval An interval corresponding to the intersection of the current interval with otherInterval.

Examples

>>> import openturns as ot
>>> interval1 = ot.Interval([2.0, 3.0], [5.0, 8.0])
>>> interval2 = ot.Interval([1.0, 4.0], [6.0, 13.0])
>>> print(interval1.intersect(interval2))
[2, 5]
[4, 8]

isEmpty()

Check if the interval is empty.

Returns: isEmpty : bool True if the interior of the interval is empty.

Examples

>>> import openturns as ot
>>> interval = ot.Interval([1.0, 2.0], [1.0, 2.0])
>>> interval.setFiniteLowerBound([True, False])
>>> print(interval.isEmpty())
False

isNumericallyEmpty()

Check if the interval is numerically empty.

Returns: isEmpty : bool Flag telling whether the interval is numerically empty, i.e. if its numerical volume is inferior or equal to (defined in the ResourceMap: = Domain-SmallVolume).

Examples

>>> import openturns as ot
>>> interval = ot.Interval([1.0, 2.0], [1.0, 2.0])
>>> print(interval.isNumericallyEmpty())
True

join(other)

Get the smallest interval containing both the current interval and another one.

Parameters: otherInterval : Interval Interval of the same dimension. interval : Interval Smallest interval containing both the current interval and otherInterval.

Examples

>>> import openturns as ot
>>> interval1 = ot.Interval([2.0, 3.0], [5.0, 8.0])
>>> interval2 = ot.Interval([1.0, 4.0], [6.0, 13.0])
>>> print(interval1.join(interval2))
[1, 6]
[3, 13]

numericallyContains(point)

Check if the given point is inside of the discretization of the interval.

Parameters: point : sequence of float Point with the same dimension as the current domain’s dimension. isInside : bool Flag telling whether the point is inside the interval bounds, not taking into account whether bounds are finite or not.
setFiniteLowerBound(finiteLowerBound)

Tell for each component of the lower bound whether it is finite or not.

Parameters: flags : sequence of bool If the element is False, the corresponding component of the lower bound is infinite. Otherwise, it is finite.

Examples

>>> import openturns as ot
>>> interval = ot.Interval(2)
>>> interval.setFiniteLowerBound([True, False])
>>> print(interval)
[0, 1]
]-inf (0), 1]

setFiniteUpperBound(finiteUpperBound)

Tell for each component of the upper bound whether it is finite or not.

Parameters: flags : sequence of bool If the element is False, the corresponding component of the upper bound is infinite. Otherwise, it is finite.

Examples

>>> import openturns as ot
>>> interval = ot.Interval(2)
>>> interval.setFiniteUpperBound([True, False])
>>> print(interval)
[0, 1]
[0, (1) +inf[

setLowerBound(lowerBound)

Set the lower bound.

Parameters: lowerBound : sequence of float Value of the lower bound.

Examples

>>> import openturns as ot
>>> interval = ot.Interval(2)
>>> interval.setLowerBound([-4, -5])
>>> print(interval)
[-4, 1]
[-5, 1]

setName(name)

Accessor to the object’s name.

Parameters: name : str The name of the object.
setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters: id : int Internal unique identifier.
setUpperBound(upperBound)

Set the upper bound.

Parameters: upperBound : sequence of float Value of the upper bound.

Examples

>>> import openturns as ot
>>> interval = ot.Interval(2)
>>> interval.setUpperBound([4, 5])
>>> print(interval)
[0, 4]
[0, 5]

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters: visible : bool Visibility flag.