'Returns the p-norm of x.'

@Atom.numpy_numeric
def numeric(self, values):

    if (self.axis is None):
        values = np.array(values[0]).flatten()
    else:
        values = np.array(values[0])
    if ((self.p < 1) and np.any((values < 0))):
        return (- np.inf)
    if ((self.p < 0) and np.any((values == 0))):
        return 0.0
    retval = np.linalg.norm(values, float(self.p), axis=self.axis)
    if (self.axis is not None):
        if (self.axis == 0):
            retval = np.reshape(retval, (1, self.args[0].size[1]))
        else:
            retval = np.reshape(retval, (self.args[0].size[0], 1))
    return retval
