Python: ¿Cómo evitar el RuntimeWarning numpy en la definición de la función?

Diseñé una función simple para devolver una función matemática que se puede usar para ajustar datos experimentales. Las funciones se parecen mucho a las siguientes:

<code>def colecole_2(f,*p):
    term1=p[0] * ( 1 - 1 / (1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[1], p[2])))
    term2=p[3] * ( 1 - 1 / (1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[4], p[5])))
    return p[6]*(1-abs( term1+ term2))
</code>

Desafortunadamente me encuentro con problemas con RunTimeWarnings como:

<code>RuntimeWarning: overflow encountered in power
RuntimeWarning: overflow encountered in divide
</code>

Debido a los valores que son demasiado grandes o pequeños. Aunque no soy capaz de resolver este problema por mi cuenta. ¿Hay alguna forma de redefinir mi función para que pase sin advertencias?

Respuestas a la pregunta(3)

Su respuesta a la pregunta