matrix = np.float32(np.array([[0.0 for i in range(dimension)] for j in range(dimension)]))
如果我想以单精度进行矩阵运算,上面的声明数组是否足够,或者我是否必须截断每个算术运算如下?
np.float32(matrix[a][b] op matrix[c][d])
答案 0 :(得分:3)
不,您可以指定数组的dtype
:
np.array([[0.0 for i in range(dimension)] for j in range(dimension)],
dtype=np.float32)
请注意,如果您使用零,则还可以使用:
np.zeros((dimension, dimension), dtype=np.float32)
通过指定dtype
,数组的所有元素具有相同的类型。如果例如每个列具有相同的类型,但是列可能不同,您也可以指定数据类型,如this answer中所述。