import torch


def get_rand_coord(start, end, steps):
    """Returns random coordinates.

    Parameters
    ----------
    start : torch.Tensor
        lower boundaries
    end : torch.Tensor
        upper boundaries
    steps : torch.Tensor
        number of steps for coordinate cumputation

    Returns
    -------
    torch.Tensor
        coordinates, shape: `(d, steps)`, where `d` is the dimension,
        i.e., number of elements in `start` and `end`
    """
    assert len(start) == len(end)
    assert len(start) == len(steps)

    d = len(steps)
    n = int(torch.prod(steps).item())

    result = torch.rand(n, d)
    result = start + (end - start) * result

    return result.T