通过MCP连接 →

输入计算

数学公式

广告

结果

矩阵 A 的秩
2
线性无关的行 / 列
矩阵形状 (m × n) 3 x 3
行数 (m) 3
列数 (n) 3
最大可能的秩 min(m, n) 3
是否满秩? No (rank deficient)

什么是矩阵的秩?

矩阵 \(A\) 的是指它所包含的线性无关列向量的最大数量,这个数值始终等于其线性无关行向量的最大数量。从几何角度看,它就是由 \(A\) 的行(或列)所张成空间的维数。这是线性代数中的一个通用概念,不依赖于任何地区或约定。在日语中,同样的概念被称为「階数(かいすう)」。

一个矩阵,突出显示线性无关行和线性相关行
秩表示矩阵中线性无关的行(或列)的数量。

如何使用本计算器

先设置行数(\(m\))和列数(\(n\)),然后在文本框中逐行输入矩阵的各个元素。同一行内的数值用逗号或空格分隔,不同行之间用换行或分号分隔。「显示精度」下拉菜单仅控制运算过程中数值的显示位数,对于一般输入并不会改变最终的数学秩。点击计算后,工具会给出矩阵的秩、矩阵的形状,以及该矩阵是否为满秩。

公式与算法

本计算器采用带部分主元选取的高斯消元法,将 \(A\) 化简为行阶梯形。算法从 rank = 0 开始,逐列扫描;在每一列中,它会选取绝对值最大的候选行(以保证数值稳定性),如果该值超过一个很小的容差,就把这一行作为主元行,将该列从其他所有行中消去,并使秩加一。如果某一列的候选元素全部接近于零,则该列不产生主元。最终统计出的主元个数即为矩阵的秩,它始终满足 \(0 \le \text{rank} \le \min(m,\, n)\)。

$$\text{rank}(A) = \dim\!\big(\text{span of pivot rows of }\text{Matrix }A\big) \le \min\!\left(m,\; n\right)$$

$$\text{rank}(A) = \#\{\text{nonzero pivots in REF}(A)\}$$

$$\text{where}\quad \left\{ \begin{aligned} A &= \text{Matrix entries} \;(m \times n) \\ \text{tol} &= 10^{-12}\cdot \max_{i,j}\lvert a_{ij}\rvert \\ \text{rank}(A) &\le \min(m,\, n) \end{aligned} \right.$$

Advertisement
矩阵逐步化为行阶梯形,主元呈阶梯状排列
高斯消元将矩阵化为行阶梯形;每个非零主元使秩加一。

计算示例

取 \(A = [[1, 2, 3], [2, 4, 6], [1, 0, 1]]\)。第 2 行恰好等于第 1 行的 2 倍,因此这两行线性相关。消元之后只剩下两个非零主元行,于是秩 = 2。相比之下,\(3\times 3\) 的单位矩阵会产生三个主元,秩为 3;而任意全零矩阵的秩则为 0。

常见问题

矩阵的秩会超过行数或列数吗?不会。秩永远不会大于 \(\min(m, n)\)。

满秩是什么意思?当矩阵的秩等于 \(\min(m, n)\) 时,称该矩阵为满秩。对于方阵而言,这意味着它可逆,且行列式不为零。

为什么要选取绝对值最大的主元?部分主元选取可以避免除以极小的数,从而把浮点舍入误差控制在很小的范围内,使秩的计算结果更加可靠。

最后更新: