算額あれこれ

算額問題をコンピュータで解きます

Julia の小ネタ--005 : は ^ より演算順位が低い

10^-10, 10^-9, ..., 1 の数列を得ようとして

10 .^ -10:0 としても,1.0000000000000006e-10:1.0:-0.9999999999 になるだけ。これは何も含まない。
float.(1.0000000000000006e-10:1.0:-0.9999999999)Float64[] で「」である。: は ^ より演算順位が低いからである(R は逆)

それならば,これはどうだ。

10 .^ (-10:0) はエラーになる。

DomainError with -10:
Cannot raise an integer x to a negative power -10.
Make x or -10 a float by adding a zero decimal (e.g., 2.0^-10 or 2^-10.0 instead of 2^-10), or write 1/x^10, float(x)^-10, x^float(-10) or (x//1)^-10

解決策のサジェスチョンどおり,以下のようにすると

10.0 .^ (-10:0) または 10 .^ (-10.0:0) でやっと望みの結果が得られた。やれやれ。