正分数的平方根给出 Python 中的复数
Square root of a positive fraction gives complex number in Python
考虑这个例子-
(-25.0000001**2)**(1/2)
这个returns-
Python 3.8.3
(1.5308085050574255e-15+25.0000001j)
现在我预计会有一些小错误。但这看起来像一个复数。这是什么意思?
python是否简单地使用复数表示法来描述小数位数非常小的数字?
此外,我知道这非常低效,但只是为了测试极限。
这只是 Python Operator Precedence 的副作用,你会发现
>>> -25**2
-625
>>> (-25)**2
625
由于指数 (**) 优先于负数 (-),结果为 -625。哪个平方根给你那个复数。
你应该这样做:
>>> ((-25.0000001)**2)**(1/2)
25.0000001
考虑这个例子-
(-25.0000001**2)**(1/2)
这个returns-
Python 3.8.3
(1.5308085050574255e-15+25.0000001j)
现在我预计会有一些小错误。但这看起来像一个复数。这是什么意思?
python是否简单地使用复数表示法来描述小数位数非常小的数字?
此外,我知道这非常低效,但只是为了测试极限。
这只是 Python Operator Precedence 的副作用,你会发现
>>> -25**2
-625
>>> (-25)**2
625
由于指数 (**) 优先于负数 (-),结果为 -625。哪个平方根给你那个复数。 你应该这样做:
>>> ((-25.0000001)**2)**(1/2)
25.0000001