Funciones eficientes de MATLAB cart2sph y sph2cart en python

Traduje las funciones de MATLAB cart2sph y sph2cart a python de esta manera.

import numpy as np def cart2sph(x,y,z): azimuth = np.arctan2(y,x) elevation = np.arctan2(z,np.sqrt(x**2 + y**2)) r = np.sqrt(x**2 + y**2 + z**2) return azimuth, elevation, r def sph2cart(azimuth,elevation,r): x = r * np.cos(elevation) * np.cos(azimuth) y = r * np.cos(elevation) * np.sin(azimuth) z = r * np.sin(elevation) return x, y, z 

No encontré ninguna biblioteca en números que tradujera el cambio de coordenadas de MATLAB, así que las escribo para mí mismo. ¿Existe en número una forma más eficiente en términos de tiempo de ejecución para escribir esta función?