将矩阵声明为np.float32(np.array())

时间:2018-02-05 19:15:01

标签: python numpy

 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])

1 个答案:

答案 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中所述。