これはJuliaの設計に関する質問です。ジュリアでは、1/2
は0.5
となり、一般的に整数除算ではFloatが返されるため、4/2
は2.0
です。これは妥当と思われます。1/2は0.5を返しますが、sqrt(-1)はDomainErrorを返します
sqrt
と同じ理由が適用されなかったのはなぜですか?つまり、私には、sqrt
は、常に、返信はComplex
、特にsqrt(-1)
はim
(または-im
ですが、これは別の説明です)を返す必要があります。しかし、sqrt(-1)
はDomainError
となります。
少なくとも、複素数のルートを返すsqrt
のバージョンが必要です(除算の場合と同じように、div
と/
)。
だから、二つの質問:この設計上の決定(/
対sqrt
の一貫性のない治療)との理由
- 何でしたか?
- 複合平方根を返す
sqrt
のバージョンがありますか?
私はジュリア語のデザイナーの一人があなたの最初の質問に答えるのをやめたいと思っています。 –
http://docs.julialang.org/en/release-0.4/manual/faq/#why-does-julia-give-a-domainerror-for-certain-semingly-sensible-operations – StefanKarpinski
@StefanKarpinski 'sqrt'の場合常に 'Complex'を返します。また、型安定です。 – becko