jax.numpy.trapzΒΆ

jax.numpy.trapz(y, x=None, dx=1.0, axis=-1)[source]ΒΆ

Integrate along the given axis using the composite trapezoidal rule.

LAX-backend implementation of trapz(). Original docstring below.

Integrate y (x) along given axis.

Parameters
  • y (array_like) – Input array to integrate.

  • x (array_like, optional) – The sample points corresponding to the y values. If x is None, the sample points are assumed to be evenly spaced dx apart. The default is None.

  • dx (scalar, optional) – The spacing between sample points when x is None. The default is 1.

  • axis (int, optional) – The axis along which to integrate.

Returns

trapz – Definite integral as approximated by trapezoidal rule.

Return type

float

See also

sum(), cumsum()

Notes

Image 2 illustrates trapezoidal rule – y-axis locations of points will be taken from y array, by default x-axis distances between points will be 1.0, alternatively they can be provided with x array or with dx scalar. Return value will be equal to combined area under the red lines.

References

1

Wikipedia page: https://en.wikipedia.org/wiki/Trapezoidal_rule

2

Illustration image: https://en.wikipedia.org/wiki/File:Composite_trapezoidal_rule_illustration.png

Examples

>>> np.trapz([1,2,3])
4.0
>>> np.trapz([1,2,3], x=[4,6,8])
8.0
>>> np.trapz([1,2,3], dx=2)
8.0
>>> a = np.arange(6).reshape(2, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.trapz(a, axis=0)
array([1.5, 2.5, 3.5])
>>> np.trapz(a, axis=1)
array([2.,  8.])