【发布时间】:2012-05-27 04:34:10
【问题描述】:
在带有 numpy 1.5.1 的 python 2.7.1 中:
import numpy as np
B = np.matrix([[-float('inf'), 0], [0., 1]])
print B
Bm = B[1:, :]
Bm[:, 1] = float('inf')
print B
返回
[[-inf 0.]
[ 0. 1.]]
[[-inf 0.]
[ 0. inf]]
这很出人意料,因为我认为 Bm 是一个副本(如this question)。
任何解决此问题的帮助将不胜感激。
【问题讨论】:
-
请注意,
-float('inf')更直接的是float('-inf'),它的好处是不需要计算(取数字的反面)。 -
另请注意,矩阵创建中
0.中的点也不需要:float('inf')的存在保证矩阵至少是浮点类型。