为什么矩阵的ndim值与matrix_rank不同?

时间:2015-04-06 12:04:35

标签: python numpy

我声明了一个矩阵,如下所示,

vector1 = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 0)]);

np.ndim(vector1)显示2,matrix_rank(vector1)显示3。

为什么他们不同?

2 个答案:

答案 0 :(得分:2)

np.ndim是指矩阵的维数,因此长度为N的向量具有维度1,NxN矩阵具有维度2,NxNxN“多维矩阵”具有维度3.

matrix_rank与数学等级有关,即从矩阵跨越空间生成所需的向量数。

答案 1 :(得分:1)

您混淆了两种不同的矩阵属性。 维度和等级。

维度等于索引数量。 例如标量的尺寸为0,矢量的尺寸为1,常见的2D矩阵与您给出的尺寸相同,尺寸为2。

矩阵的等级等于独立列的数量。 在您给出的示例中,等级为3,因为没有一列可以写为其他两列的线性组合。