为什么 Julia 在输入复数时会生成复共轭?

sun*_*ian 3 julia

当尝试在 julia 控制台中输入任何复数时,例如 2+3im,然后按 Enter 键,输出与输入相同,即 2 + 3im。但是在输入时输入是有理形式,即 1//2+1//5im,按下回车键后 julia 输出 1//2 - 1//5*im。请帮助我在 ubuntu 18 上。

在此处输入图片说明

pfi*_*seb 6

发生这种情况是因为并列绑定比(几乎?)所有运算符更紧密,因此您的输入被解析为

julia> 1//2 + 1//(5im)
1//2 - 1//5*im
Run Code Online (Sandbox Code Playgroud)

而不是

julia> 1//2 + (1//5)im
1//2 + 1//5*im
Run Code Online (Sandbox Code Playgroud)

你自找的。这给出了与您预期相反的信号,因为当然im^(-1) == -im


Kor*_*sbo 5

您需要一些东西来表明1//5虚数是有理数,而不仅仅是5.

julia> 1//2 + (1//5)im
1//2 + 1//5*im

julia> 1//2 + 1//5*im
1//2 + 1//5*im
Run Code Online (Sandbox Code Playgroud)

然而

julia> 1//2 + 1//(5*im)
1//2 - 1//5*im

Run Code Online (Sandbox Code Playgroud)