AtributoErro em python / numpy ao construir função para determinados valores

Estou escrevendo código Python para gerar e traçar funções '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)

O código a seguir apenas faz um gráfico disso. Por uma razão que não consigo entender, este código funciona bem quando se usa o valor padrão de 8 paraN, ou para valores deN até 13. QuandoN é 14 ou superior, a função falha com uma mensagem de erro:

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

Na linha de retorno na definição da função. Alguma ideia? Como a única coisa nessa linha que usa .exp é anumpy.exp a mensagem de erro parece implicar quenumpy está sendo interpretado como um float, mas apenas para grandes valores deN...

Estou executando o python 3.3.2 com numpy 1.7.1 e scipy 0.12.0

questionAnswers(1)

yourAnswerToTheQuestion