Juliaでゼロ除算したときのInfとNaNの違い
概要
Juliaで 0/0 と 1/0 がどのように違うかを説明する。
コード
julia> 0/0
NaN
julia> 1/0
Inf
少なくともプログラミングでは、無限 Inf は初期値や大小関係の比較という点で非常に便利に使われるから、0で割ること自体がそこまで変なことではない。問題は ${{ 0 } \over { 0 }} \ne \infty$ であり、Juliaでは NaN として扱われる。つまり、0で割ること自体に問題はないが、割られる側が0だと予想していた Inf とは違う動作をするリスクがあるということだ。
環境
- OS: Windows
- julia: v1.8.3
