(f, u, K)
Computes discriminant of a polynomial in `K[X]`.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y,z,t = ring("x,y,z,t", ZZ)

    >>> R.dmp_discriminant(x**2*y + x*z + t)
    -4*y*t + z**2
Computes discriminant of a polynomial in `K[X]`.
Computes discriminant of a polynomial in K [ X ] .
def dmp_discriminant(f, u, K):
    """
    Computes discriminant of a polynomial in `K[X]`.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y,z,t = ring("x,y,z,t", ZZ)

    >>> R.dmp_discriminant(x**2*y + x*z + t)
    -4*y*t + z**2

    """
    if not u:
        return dup_discriminant(f, K)

    d, v = dmp_degree(f, u), u - 1

    if d <= 0:
        return dmp_zero(v)
    else:
        s = (-1)**((d*(d - 1)) // 2)
        c = dmp_LC(f, K)

        r = dmp_resultant(f, dmp_diff(f, 1, u, K), u, K)
        c = dmp_mul_ground(c, K(s), v, K)

        return dmp_quo(r, c, v, K)
def dmp_discriminant ( f , u , K ) : if not u : return dup_discriminant ( f , K ) d , v = dmp_degree ( f , u ) , u - 1 if d <= 0 : return dmp_zero ( v ) else : s = ( - 1 ) ** ( ( d * ( d - 1 ) ) // 2 ) c = dmp_LC ( f , K ) r = dmp_resultant ( f , dmp_diff ( f , 1 , u , K ) , u , K ) c = dmp_mul_ground ( c , K ( s ) , v , K ) return dmp_quo ( r , c , v , K )