【发布时间】:2016-04-12 21:32:51
【问题描述】:
我在 python 中遇到了一些与复数平方根有关的令人困惑的行为。运行此代码:
from cmath import sqrt
a = 0.2
b = 0.2 + 0j
print(sqrt(a / (a - 1)))
print(sqrt(b / (b - 1)))
给出输出
0.5j
-0.5j
类似的事情发生在
print(sqrt(-1 * b))
print(sqrt(-b))
看来这两对陈述应该给出相同的答案?
【问题讨论】:
-
两个答案都是正确的,问题是为什么它返回不同的共轭。
-
FWIW 行为在 2.7 和 3.5 中显示相同。
-
复杂的根有多种解决方案。
-
@tzaman ...如果它被定义在某个 Python 应该返回的地方。如果没有定义,Python 有权任意选择。
标签: python math complex-numbers