我声明了一个矩阵,如下所示,
vector1 = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 0)]);
np.ndim(vector1)
显示2,matrix_rank(vector1)
显示3。
为什么他们不同?
答案 0 :(得分:2)
np.ndim
是指矩阵的维数,因此长度为N的向量具有维度1,NxN矩阵具有维度2,NxNxN“多维矩阵”具有维度3.
matrix_rank
与数学等级有关,即从矩阵跨越空间生成所需的向量数。
答案 1 :(得分:1)
您混淆了两种不同的矩阵属性。 维度和等级。
维度等于索引数量。 例如标量的尺寸为0,矢量的尺寸为1,常见的2D矩阵与您给出的尺寸相同,尺寸为2。
矩阵的等级等于独立列的数量。 在您给出的示例中,等级为3,因为没有一列可以写为其他两列的线性组合。