 `estimate` will return arrays of shape::
        (output_dim_1, ..., output_dim_n)
a, b : ndarray
    Lower and upper limits of integration as rank-1 arrays specifying the left
    and right endpoints of the intervals being integrated over. Infinite limits
    are currently not supported.
args : tuple, optional
    Additional positional args passed to `f`, if any.

Returns
-------
est : ndarray
    Result of estimation. If `f` returns arrays of shape ``(npoints,
    output_dim_1, ..., output_dim_n)``, then `est` will be of shape
    ``(output_dim_1, ..., output_dim_n)``.
)