[英]How can I take the square root of -1 using python?
当我取 -1 的平方根时,它给了我一个错误:
sqrt 中遇到无效值
我该如何解决?
from numpy import sqrt
arr = sqrt(-1)
print(arr)
为了避免invalid value
警告/错误,numpy 的sqrt
函数的参数必须很复杂:
In [8]: import numpy as np
In [9]: np.sqrt(-1+0j)
Out[9]: 1j
正如@AshwiniChaudhary 在评论中指出的那样,您还可以使用cmath
标准库:
In [10]: cmath.sqrt(-1)
Out[10]: 1j
我刚刚发现了sqrt 文档中解释的便利函数numpy.lib.scimath.sqrt
。 我使用它如下:
>>> from numpy.lib.scimath import sqrt as csqrt
>>> csqrt(-1)
1j
您需要使用cmath模块(标准库的一部分)中的 sqrt
>>> import cmath
>>> cmath.sqrt(-1)
1j
此处Numpy 文档的最新附录添加了命令numpy.emath.sqrt
,当负数被馈送到操作中的平方根符号时,该命令返回复数。
-1 的平方根不是实数,而是虚数。 IEEE 754 没有表示虚数的方法。
numpy 支持复数。 我建议你使用它: http ://docs.scipy.org/doc/numpy/user/basics.types.html
其他人可能提出了更理想的方法,但只是为了增加对话,你总是可以将任何小于 0 的数字(你想要的 sqrt 的值,在这种情况下为 -1)乘以 -1,然后取那个 sqrt . 然后就知道你的结果是虚构的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.