AttributeError en python / numpy al construir una función para ciertos valores

Estoy escribiendo código Python para generar y trazar funciones 'super-gaussianas', como:

def supergaussian(x, A, mu, sigma, offset, N=8):
    """Supergaussian function, amplitude A, centroid mu, st dev sigma, exponent N, with constant offset"""
    return A * (1/(2**(1+1/N)*sigma*2*scipy.special.gamma(1+1/N))) * numpy.exp(-numpy.absolute(numpy.power(x-mu,N))/(2*sigma**N)) + offset

init_x = numpy.arange(-100,100,1.0)
init_y = supergaussian(init_x, 1, 0, 25, 0, N=12)

El siguiente código simplemente hace una trama de ello. Por una razón que no puedo entender, este código funciona bien cuando se usa el valor predeterminado de 8 paraN, o para valores deN hasta 13. CuandoN es 14 o superior, la función se bloquea con un mensaje de error:

AttributeError: 'float' object has no attribute 'exp'

En la línea de retorno en la definición de la función. ¿Algunas ideas? Ya que lo único en esa línea que usa .exp es elnumpy.exp el mensaje de error parece implicar quenumpy está siendo interpretado como un flotador, pero solo para grandes valores deN...

Estoy ejecutando python 3.3.2 con numpy 1.7.1 y scipy 0.12.0

Respuestas a la pregunta(1)

Su respuesta a la pregunta