这是关于朱莉娅设计的问题.在Julia中,1/2给出0.5,并且通常整数除法返回一个Float,所以4/2是2.0.这看似合理.
我想知道为什么没有适用同样的推理sqrt.也就是说,对我来说sqrt应该始终返回的一致性要求,Complex特别是sqrt(-1)应该返回im(或者-im,这是另一个讨论).但是,sqrt(-1)给出DomainError.
或者至少应该有一个版本sqrt返回复杂的根(就像分裂,你有div和/).
那么,有两个问题:
/对比的不一致处理sqrt)之间的原因是什么?sqrt返回复杂的平方根?你应该阅读文档:)
sqrt(-1)
Run Code Online (Sandbox Code Playgroud)
错误:DomainError:如果使用复杂参数调用,sqrt将仅返回复杂结果.尝试sqrt(complex(x)).在math.jl的sqrt:146
所以你需要的是因为im被定义为sqrt(-1)并且你需要sqrt(-1)你可以这样做..
sqrt(complex(im^2))
Run Code Online (Sandbox Code Playgroud)
要不就 :
sqrt(complex(-1))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |