# less#

ivy.less(x1, x2, /, *, out=None)[source]#

Compute the truth value of `x1_i < x2_i` for each element `x1_i` of the input array `x1` with the respective element `x2_i` of the input array `x2`.

Parameters:
• x1 (`Union`[`float`, `Array`, `NativeArray`]) – first input array. Should have a numeric data type.

• x2 (`Union`[`float`, `Array`, `NativeArray`]) – second input array. Must be compatible with `x1` (see ref:broadcasting). Should have a numeric data type.

• out (`Optional`[`Array`], default: `None`) – optional output array, for writing the result to. It must have a shape that the inputs broadcast to.

Return type:

`Array`

Returns:

ret – an array containing the element-wise results. The returned array must have a data type of `bool`.

Examples

With `ivy.Array` input:

```>>> x = ivy.less(ivy.array([1,2,3]),ivy.array([2,2,2]))
>>> print(x)
ivy.array([ True, False, False])
```
```>>> x = ivy.array([[[1.1], [3.2], [-6.3]]])
>>> y = ivy.array([[8.4], [2.5], [1.6]])
>>> ivy.less(x, y, out=x)
>>> print(x)
ivy.array([[[1.],
[0.],
[1.]]])
```

With a mix of `ivy.Array` and `ivy.NativeArray` inputs:

```>>> x = ivy.array([1, 2, 3])
>>> y = ivy.native_array([4, 5, 0])
>>> z = ivy.less(x, y)
>>> print(z)
ivy.array([ True,  True, False])
```

With a mix of `ivy.Array` and `ivy.Container` inputs:

```>>> x = ivy.array([[5.1, 2.3, -3.6]])
>>> y = ivy.Container(a=ivy.array([[4.], [5.], [6.]]),
...                   b=ivy.array([[5.], [6.], [7.]]))
>>> z = ivy.less(x, y)
>>> print(z)
{
a: ivy.array([[False, True, True],
[False, True, True],
[True, True, True]]),
b: ivy.array([[False, True, True],
[True, True, True],
[True, True, True]])
}
```

With `ivy.Container` input:

```>>> x = ivy.Container(a=ivy.array([4, 5, 6]),b=ivy.array([2, 3, 4]))
>>> y = ivy.Container(a=ivy.array([1, 2, 3]),b=ivy.array([5, 6, 7]))
>>> z = ivy.less(x, y)
>>> print(z)
{
a: ivy.array([False, False, False]),
b: ivy.array([True, True, True])
}
```
Array.less(self, x2, /, *, out=None)[source]#

ivy.Array instance method variant of ivy.less. This method simply wraps the function, and so the docstring for ivy.less also applies to this method with minimal changes.

Parameters:
• self (`Array`) – first input array. Should have a real-valued data type.

• x2 (`Union`[`Array`, `NativeArray`]) – second input array. Must be compatible with `self` (see broadcasting). Should have a real-valued data type.

• out (`Optional`[`Array`], default: `None`) – optional output array, for writing the result to. It must have a shape that the inputs broadcast to.

Return type:

`Array`

Returns:

ret – an array containing the element-wise results. The returned array must have a data type of `bool`.

Examples

```>>> x1 = ivy.array([2., 5., 15.])
>>> x2 = ivy.array([3., 2., 4.])
>>> y = x1.less(x2)
>>> print(y)
ivy.array([ True, False, False])
```
Container.less(self, x2, /, *, key_chains=None, to_apply=True, prune_unapplied=False, map_sequences=False, out=None)[source]#

ivy.Container instance method variant of ivy.less. This method simply wraps the function, and so the docstring for ivy.less also applies to this method with minimal changes.

Parameters:
• self (`Container`) – input array or container. Should have a real-valued data type.

• x2 (`Union`[`Container`, `Array`, `NativeArray`]) – input array or container. Must be compatible with `self` (see broadcasting). Should have a real-valued data type.

• key_chains (`Optional`[`Union`[`List`[`str`], `Dict`[`str`, `str`], `Container`]], default: `None`) – The key-chains to apply or not apply the method to. Default is `None`.

• to_apply (`Union`[`bool`, `Container`], default: `True`) – If True, the method will be applied to key_chains, otherwise key_chains will be skipped. Default is `True`.

• prune_unapplied (`Union`[`bool`, `Container`], default: `False`) – Whether to prune key_chains for which the function was not applied. Default is `False`.

• map_sequences (`Union`[`bool`, `Container`], default: `False`) – Whether to also map method to sequences (lists, tuples). Default is `False`.

• out (`Optional`[`Container`], default: `None`) – optional output container, for writing the result to. It must have a shape that the inputs broadcast to.

Return type:

`Container`

Returns:

ret – a container containing the element-wise results. The returned container must have a data type of `bool`.

Examples

```>>> x = ivy.Container(a=ivy.array([4, 5, 6]),
...                   b=ivy.array([2, 3, 4]))
>>> y = ivy.Container(a=ivy.array([1, 2, 3]),
...                   b=ivy.array([5, 6, 7]))
>>> z = x.less(y)
>>> print(z)
{
a: ivy.array([False, False, False]),
b: ivy.array([True, True, True])
}
```