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