Python 为什么矩阵的ndim值与矩阵_秩不同?

Python 为什么矩阵的ndim值与矩阵_秩不同?,python,numpy,Python,Numpy,我声明一个矩阵如下: vector1 = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 0)]); np.ndim(vector1)显示2,而矩阵秩(vector1)显示3 为什么它们不同?np.ndim指矩阵的维数,因此长度为N的向量的维数为1,NxN矩阵的维数为2,NxN“多维矩阵”的维数为3 矩阵_秩与数学秩相关,即从矩阵跨距空间生成矩阵所需的向量数。您混淆了矩阵的两个不同属性。 维度和等级 维度等于索引的数量。 e、 一个标量的维数为0,一个向量的维数为

我声明一个矩阵如下:

vector1 = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 0)]);
np.ndim(vector1)
显示2,而
矩阵秩(vector1)
显示3


为什么它们不同?

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


矩阵_秩
与数学秩相关,即从矩阵跨距空间生成矩阵所需的向量数。

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

维度等于索引的数量。 e、 一个标量的维数为0,一个向量的维数为1,一个普通的2D矩阵,就像你给出的矩阵一样,其维数为2

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

维度的数量与秩无关。并非每个二维矩阵都有秩2。“R^2中的矩阵”是什么意思?@MarkDickinson我写的是错的。我指的是(想指的是)常见的矩阵,通常用
m(R)\un(n,n)
或类似的符号表示。我的新公式更清楚(正确)吗?编辑:我猜从技术上讲,
M(R^2)\un(n,n)
是一个定义良好的矩阵空间,由成对的数字组成,但在这种情况下会产生误导。