これは他の(おそらくすべての)言語では間違いありませんが、私はPythonでしかテストしていません。私の質問は次のとおりです: 異なる精度の2つの値に対して算術演算を行うとき、なぜNumPyは最高精度のdtypeで結果を返しますか?例えばNumPyは、浮動小数点演算の精度をより低い精度にキャストします。
import numpy as np
single = np.array([[1, 2, 3], [4, 5, 6]], np.float32)
double = np.array([[1, 2, 3], [4, 5, 6]], np.float64)
diff = single-double
print "single data type -", single.dtype
print "double data type -", double.dtype
print "diff data type -", diff.dtype
利回り:
単一のデータ・タイプ - のfloat32
doubleデータ型 - のfloat64
差分データ型 - のfloat64
私は浮動理解でポイントの精度、余分な後半の図形diff
の記述は正確ではありません。その場合、最低精度ではなく最高精度に結果をキャストする理由は何ですか?