Python - 如何计算数字的所有第n个根?

psi*_*lia 8 python math

是否可以使用Python计算给定数字的n个复杂根?我很快检查了它,看起来Python给了我错误/不完整的答案:

(-27.0j)**(1.0/3.0) 产生 (2.598076211353316-1.4999999999999998j)

但正确的根应该是3个复数,因为每个非零数都有n个不同的复数n个根.在Python中有可能吗?

Tom*_*ych 6

我不认为标准Python会这样做,除非你为它编写一个函数,但是你可以用Numpy来做:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.roots.html