में जटिल संख्याओं की स्क्वायर रूट मैंने पाइथन में जटिल संख्याओं की वर्ग जड़ों के साथ कुछ भ्रमित व्यवहार में भाग लिया है। इस कोड चल रहा है:पायथन
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))
यह बयान के इन जोड़ों प्रकट होता है एक ही जवाब देना चाहिए साथ क्या होता है? क्योंकि वे complex conjugates हैं
[Wolfram] (https://www.wolframalpha.com/) के अनुसार आप सही हैं। पहली जोड़ी ([लिंक] (https://www.wolframalpha.com/input/?i=sqrt (0.2 +% 2 एफ + (0.2 + - + 1))) और [लिंक] (https: //www.wolframalpha .com/input /? i = sqrt (+ (0.2% 2B0i) +% 2F + (+ (0.2% 2B0i) + - 1+)))) दोनों '0.5i' होना चाहिए, और दूसरी जोड़ी ([लिंक] (https://www.wolframalpha.com/input/?i=sqrt(-1+*+(0.2+%2B+0i))) और [लिंक] (https://www.wolframalpha.com/input/ ? i = sqrt (-1 + * + (0.2 +% 2 बी + 0i)))) दोनों को '0.447214 ... i' होना चाहिए। 'Cmath.sqrt()' का स्रोत [यहां] है (https://hg.python.org/cpython/file/tip/Modules/cmathmodule.c#l732) ... – Jens
दोनों उत्तर सही हैं, प्रश्न यही कारण है कि यह अलग conjugates देता है। – tzaman
FWIW व्यवहार 2.7 और 3.5 में समान दिखाई देता है। – tzaman