'Construct :class:`Poly` instance from raw representation.'

@classmethod
def new(cls, rep, *gens):

    if (not isinstance(rep, DMP)):
        raise PolynomialError(('invalid    polynomial    representation:    %s' % rep))
    elif (rep.lev != (len(gens) - 1)):
        raise PolynomialError(('invalid    arguments:    %s,    %s' % (rep, gens)))
    obj = Basic.__new__(cls)
    obj.rep = rep
    obj.gens = gens
    return obj
