def minimum(left, right):
    """Returns element-wise minimum of the input elements.

    Both inputs can be Symbol or scalar number. Broadcasting is not supported.

    Parameters
    ---------
    left : Symbol or scalar
        First symbol to be compared.
    right : Symbol or scalar
        Second symbol to be compared.

    Returns
    -------
    Symbol or scalar
        The element-wise minimum of the input symbols.

    Examples
    --------
    >>> mx.sym.minimum(2, 3.5)
    2
    >>> x = mx.sym.Variable('x')
    >>> y = mx.sym.Variable('y')
    >>> z = mx.sym.minimum(x, 4)
    >>> z.eval(x=mx.nd.array([3,5,2,10]))[0].asnumpy()
    array([ 3.,  4.,  2.,  4.], dtype=float32)
    >>> z = mx.sym.minimum(x, y)
    >>> z.eval(x=mx.nd.array([3,4]), y=mx.nd.array([10,2]))[0].asnumpy()
    array([ 3.,  2.], dtype=float32)
    """
    if isinstance(left, Symbol) and isinstance(right, Symbol):
        return _internal._Minimum(left, right)
    if isinstance(left, Symbol) and isinstance(right, Number):
        return _internal._MinimumScalar(left, scalar=right)
    if isinstance(left, Number) and isinstance(right, Symbol):
        return _internal._MinimumScalar(right, scalar=left)
    if isinstance(left, Number) and isinstance(right, Number):
        return left if left < right else right
    else:
        raise TypeError('types (%s, %s) not supported' % (str(type(left)), str(type(right))))
Returns element-wise minimum of the input elements.

    Both inputs can be Symbol or scalar number. Broadcasting is not supported.

    Parameters
    ---------
    left : Symbol or scalar
        First symbol to be compared.
    right : Symbol or scalar
        Second symbol to be compared.

    Returns
    -------
    Symbol or scalar
        The element-wise minimum of the input symbols.

    Examples
    --------
    >>> mx.sym.minimum(2, 3.5)
    2
    >>> x = mx.sym.Variable('x')
    >>> y = mx.sym.Variable('y')
    >>> z = mx.sym.minimum(x, 4)
    >>> z.eval(x=mx.nd.array([3,5,2,10]))[0].asnumpy()
    array([ 3.,  4.,  2.,  4.], dtype=float32)
    >>> z = mx.sym.minimum(x, y)
    >>> z.eval(x=mx.nd.array([3,4]), y=mx.nd.array([10,2]))[0].asnumpy()
    array([ 3.,  2.], dtype=float32)