查看“︁秩 (线性代数)”︁的源代码
←
秩 (线性代数)
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{线性代数}} {{NoteTA |G1 = Math |1=列=>zh-tw:行; |2=行=>zh-tw:列; }} 在[[线性代数]]中,一个矩阵 <math>A</math> 的列秩是列向量生成的最大[[线性无关]]组的向量个数。类似地,行秩是矩阵<math>A</math> 的[[线性无关]]的横行的个数。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 <math>A</math> 的'''秩'''({{lang|en|Rank}})。通常表示为 <math>\mathrm{r}(A)</math> ,<math>\mathrm{rank}(A)</math> 或<math>\mathrm{rk}(A)</math>。 == 可替代定义 == === 用-{行列式}-定义 === 设 <math>A</math> 为 <math>m \times n</math> 矩阵。若 <math>A</math> 至少有一个 <math>r</math> 阶非零[[子式和余子式|子式]],而其所有 <math>r+1</math> 阶子式全为零,即矩阵的最高阶非零子式的阶数为r。则称 <math>r</math> 为 <math>A</math> 的秩。 === 用向量组的秩定义 === 对于 <math>m</math> 维[[线性空间]] <math>V</math> 中的一个向量组 <math>F=\{\alpha _1 ,\alpha _2,...,\alpha _s\}</math>,若 <math>F\supseteq S=\{\alpha _1 ,\alpha _2,...,\alpha _r\}</math> 中的 <math>r</math> 个向量[[线性无关]],且若 <math>r<s</math>,<math>\forall \alpha _{r+1}\in F-S</math>,<math>S\cup \{\alpha _{r+1}\}</math> 中 <math>r+1</math> 个向量都[[线性相关]],则称 <math>\{\alpha _1 ,\alpha _2,...,\alpha _r\}</math> 为 <math>\{\alpha _1 ,\alpha _2,...,\alpha _s\}</math> 的'''极大线性无关组''',<math>r</math> 为 <math>\{\alpha _1 ,\alpha _2,...,\alpha _s\}</math> 的'''秩'''。可以证明 <math>F</math> 的秩等于向量组 <math>F</math> 生成的子空间的维数。 矩阵 <math>A</math> 的'''列秩'''定义为 <math>A</math> 的列向量组的秩,也即矩阵的[[列空间]]的维数。类似地,矩阵的'''行秩'''定义为 <math>A</math> 的行向量组的秩,即矩阵的[[行空间]]的维数。 === 用线性映射定义 === 考虑[[线性映射]]: : <math> f_A : F^n \to F^m </math> : <math> x \mapsto A \cdot x</math> 对于每个矩阵 <math>A</math>,<math>f_A</math> 都是一个线性映射,同时,对每个 <math>F^n \to F^m </math> 的 线性映射 <math>f</math>,都存在矩阵 <math>A</math >使得 <math>f=f_A</math>。也就是说,映射 :<math> \Phi : \mathcal{M}_n (\mathbb{K}) \to \mathcal{L}(F^n,F^m)</math> :<math> A \mapsto f_A</math> 是一个[[同构]]映射。所以一个矩阵 <math>A</math> 的秩还可定义为 <math>f_A</math> 的像的维度(像与核的讨论参见[[线性映射]])。矩阵 <math>A</math> 称为 <math>f_A</math> 的[[变换矩阵]]。这个定义的好处是适用于任何线性映射而不需要指定矩阵,因为每个线性映射有且仅有一个矩阵与其对应。秩还可以定义为 <math>n-f</math> 的[[核 (代数)|核]]的维度;[[秩-零化度定理]]證明它等于 <math>f</math> 的像的维度。 == 行秩列秩相等性== 矩阵的行秩与列秩相等,是[[线性代数基本定理]]的重要组成部分。其基本证明思路是,矩阵可以看作线性映射的变换矩阵,列秩为像空间的维度,行秩为非零原像空间的维度,因此列秩与行秩相等,即像空间的维度与非零原像空间的维度相等(这里的非零原像空间是指约去了零空间后的商空间:原像空间)。这从矩阵的[[奇异值分解]]就可以看出来。 给出这一结果的两种证明. 第一个证明是简短的,仅用到向量的线性组合的基本性质. 第二个证明利用了正交性<ref>Mackiw, G. (1995). A Note on the Equality of the Column and Row Rank of a Matrix. ''Mathematics Magazine'', Vol. '''68''', No. 4</ref>. 第一个证明利用了列空间的基, 第二个证明利用了行向量空间的基. 第一个证明适用于定义在标量域上的矩阵,第二个证明适用于内积空间。二者都适用于实或复的欧氏空间,也都易于修改去证明当A是线性变换的情形. ===证明一=== 令 <math>A</math> 是一个 <math>m \times n</math> 的矩阵,其列秩为 <math>r</math> . 因此矩阵 <math>A</math> 的列空间的维度是 <math>r</math> . 令 <math>c_1,c_2,\ldots,c_r</math> 是 <math>A</math> 的列空间的一组基,构成 <math>m \times r</math> 矩阵 <math>C</math>的列向量 <math>C = [c_1,c_2,\ldots,c_r]</math>,并使得 <math>A</math> 的每个列向量是 <math>C</math>的<math>r</math> 个列向量的线性组合. 由矩阵乘法的定义,存在一个 <math>r \times n</math> 矩阵 <math>R</math>, 使得 <math>A = CR</math>. (<math>A</math> 的 <math>(i,j)</math> 元素是 <math>c_i</math> 与 <math>R</math> 的第 <math>j</math> 个行向量的[[点积]].) 现在,由于 <math>A = CR</math>, <math>A</math> 的每个行向量是 <math>R</math> 的行向量的线性组合,这意味着 <math>A</math> 的行向量空间被包含于 <math>R</math> 的行向量空间之中. 因此 <math>A</math> 的行秩 ≤ <math>R</math>的行秩. 但<math>R</math>仅有<math>r</math>行, 所以<math>R</math>的行秩 ≤ <math>r</math> = <math>A</math>的列秩. 这就证明了<math>A</math>的行秩 ≤ <math>A</math>的列秩. 把上述证明过程中的“行”与“列”交换,利用对偶性质同样可证<math>A</math>的列秩 ≤ <math>A</math>的行秩。更简单的方法是考虑<math>A</math>的转置矩阵<math>A^\mathrm{T}</math>,则<math>A</math>的列秩 = <math>A^\mathrm{T}</math>的行秩 ≤ <math>A^\mathrm{T}</math>的列秩 = <math>A</math>的行秩. 这证明了<math>A</math>的列秩等于<math>A</math>的行秩. 证毕. ===证明二=== 令<math>A</math>是<math>m \times n</math>矩阵,其行秩是<math>r</math>. 因此<math>A</math>的行向量空间的维度是<math>r</math>,设<math>x_1, x_2,\ldots, x_r</math>是<math>A</math>的行向量空间的一组基. 如果把这组基当作原像列向量看待,则向量集<math>Ax_1, Ax_2,\ldots, Ax_r</math>是线性独立的。 这是因为对一组标量系数<math>c_1,c_2,\ldots,c_r</math>,如果: :<math>c_1 Ax_1 + c_2 Ax_2 + \cdots c_r Ax_r = A(c_1x_1 + c_2x_2 + \cdots + c_rx_r) = Av = 0, </math> 其中<math>v = c_1x_1 + c_2x_2 + \ldots,c_r x_r</math>. 则可以推出有两个事实: (a) <math>v</math>是<math>A</math>行向量空间的线性组合, 即<math>v</math>属于<math>A</math>的行向量空间;(b) 由于<math>Av</math> = 0, <math>v</math>正交于<math>A</math>的所有行向量,从而正交于<math>A</math>的行向量空间的所有向量. 事实(a)与(b)结合起来,则<math>v</math>正交于自身,这意味着<math>v</math> = 0. 由<math>v</math>的定义: :<math>c_1x_1 + c_2x_2 + \ldots,c_r x_r = 0.</math> 再由<math>x_i</math>是<math>A</math>的行向量空间的一组线性独立的基,可知<math>c_1 = c_2 = \cdots = c_r = 0</math>. <math>Ax_1, Ax_2,\ldots, Ax_r</math>因而是线性独立的. <math>Ax_i</math>是<math>A</math>的列空间中的向量. 因此<math>Ax_1, Ax_2,\ldots, Ax_r</math>是<math>A</math>的列空间中<math>r</math>个线性独立的向量. 所以<math>A</math>的列向量空间的维数(<math>A</math>的列秩)必然不小于<math>r</math>. 这证明了<math>A</math>的行秩r ≤ <math>A</math>的列秩. 把这一结果应用于<math>A</math>的转置矩阵可以得到: <math>A</math>的列秩 = <math>A^\mathrm{T}</math>的行秩 ≤ <math>A^\mathrm{T}</math>列秩 = <math>A</math>的行秩. 这证明了<math>A</math>的列秩等于<math>A</math>的行秩,证毕. 最后, 还可以证明rk(''A'') = rk(''A''<sup>*</sup>), 其中''A''<sup>*</sup>是''A''的共轭转置或称施密特转置. 当''A''的元素都是实数, 这一结果变为rk(''A'') = rk(''A''<sup>T</sup>). 然而对于复系数矩阵,rk(''A'') = rk(''A''<sup>*</sup>)并不等价于行秩等于列秩, 需要用到上述两个证明. ===证明三=== 令''A''是一个''m''×''n''矩阵. 定义rk(A)为''A''的列秩,''A''<sup>*</sup>为''A''的共轭转置或称施密特转置. 首先可知''A''<sup>*</sup>''Ax'' = 0当且仅当''Ax'' = 0. : ''A''<sup>*</sup>''Ax'' = 0 ⇒ ''x''<sup>*</sup>''A''<sup>*</sup>''Ax'' = 0 ⇒ ''(Ax)''<sup>*</sup>''(Ax)'' = 0 ⇒ ‖Ax‖<sup>2</sup> = 0 ⇒ Ax = 0, 其中‖·‖是[[范数|欧氏范数]]. 这说明''A''的零空间与''A''<sup>*</sup>''A''的零空间相同. 由[[秩-零化度定理]], 可得rk(''A'') = rk(''A''<sup>*</sup>''A''). ''A''<sup>*</sup>''A''的每一个列向量是''A''<sup>*</sup>的列向量的线性组合. 所以''A''<sup>*</sup>''A''的列空间是''A''<sup>*</sup>的列空间的子空间. 从而rk(''A''<sup>*</sup>''A'') ≤ rk(''A''<sup>*</sup>). 即: rk(''A'') = rk(''A''<sup>*</sup>''A'') ≤ rk(''A''<sup>*</sup>). 应用这一结果于''A''<sup>*</sup>可获得不等式: 由于(''A''<sup>*</sup>)<sup>*</sup> = ''A'', 可写作rk(''A''<sup>*</sup>) ≤ rk((''A''<sup>*</sup>)<sup>*</sup>) = rk(''A''). 这证明了rk(''A'') = rk(''A''<sup>*</sup>). 证毕. == 性质 == 我们假定''A''是在域''F''上的''m'' × ''n''矩阵并描述了上述线性映射。 * ''m'' × ''n''矩阵的秩不大于''m''且不大于''n''的一个非负整数,表示為 rk(''A'') ≤ min(''m'', ''n'')。有尽可能大的秩的矩阵被称为有'''满秩''';类似的,否则矩阵是'''秩不足'''(或称为“'''欠秩'''”)的。 * 只有[[零矩阵]]有秩0 * ''A''的秩最大为min(''m'',''n'') * ''f''是[[单射]],当且仅当''A''有秩''n''(在这种情况下,我们称''A''有“列满秩”)。 * ''f''是[[满射]],当且仅当''A''有秩''m''(在这种情况下,我们称''A''有“行满秩”)。 * 在方块矩阵''A'' (就是''m'' = ''n'')的情况下,则''A''是[[可逆矩阵|可逆]]的,当且仅当''A''有秩''n''(也就是''A''有满秩)。 * 如果''B''是任何''n'' × ''k''矩阵,则''AB''的秩最大为''A''的秩和''B''的秩的小者。即: *::<math>\operatorname{rank}(AB) \leq \min(\operatorname{rank}\ A, \operatorname{rank}\ B).</math> *:推广到若干个矩阵的情况,就是: *::<math>\operatorname{rank}(A_1 A_2 \cdots A_n) \leq \min(\operatorname{rank}\ A_1, \operatorname{rank}\ A_2, \cdots, \operatorname{rank}\ A_n).</math> *:证明: *::考虑矩阵的秩的线性映射的定义,令A、B对应的线性映射分别为''f''和''g'',则AB表示复合映射''f·g'',它的象''Im f·g''是''g''的像''Im g''在映射''f''作用下的象。然而''Im g''是整个空间的一部分,因此它在映射''f''作用下的象也是整个空间在映射''f''作用下的象的一部分。也就是说映射''Im f·g''是''Im f''的一部分。对矩阵就是:秩(AB)≤秩(A)。 *::对于另一个不等式:秩(AB)≤秩(B),考虑''Im g''的一组[[基 (線性代數)|基]]:(e<sub>1</sub>,e<sub>2</sub>,...,e<sub>n</sub>),容易证明(f(e<sub>1</sub>),f(e<sub>2</sub>),...,f(e<sub>n</sub>))生成了空间''Im f·g'',于是''Im f·g''的[[维度]]小于等于''Im g''的维度。对矩阵就是:秩(AB)≤秩(B)。 *::因此有:秩(AB)≤min(秩(A),秩(B))。若干个矩阵的情况证明类似。 *:作为"<"情况的一个例子,考虑积 *::<math> \begin{bmatrix} 0 & 0 \\ 1 & 0 \\ \end{bmatrix} \begin{bmatrix} 0 & 0 \\ 0 & 1 \\ \end{bmatrix}</math> *:两个因子都有秩1,而这个积有秩0。 *:可以看出,等号成立当且仅当其中一个矩阵(比如说''A'')对应的线性映射不减少空间的维度,即是[[单射]],这时''A''是满秩的。于是有以下性质: *:* 如果''B''是秩''n''的''n'' × ''k''矩阵,则 *:*:<math>\operatorname{rank}(AB) = \operatorname{rank}(A).</math> *:* 如果''C''是秩''m''的''l'' × ''m''矩阵,则 *:*:<math>\operatorname{rank}(CA) = \operatorname{rank}(A).</math> * ''A''的秩等于''r'',当且仅当存在一个可逆''m'' × ''m''矩阵''X''和一个可逆的''n'' × ''n''矩阵''Y''使得 *::<math> XAY = \begin{bmatrix} I_r & 0 \\ 0 & 0 \\ \end{bmatrix}</math> *:这裡的I<sub>''r''</sub>指示''r'' × ''r'' [[单位矩阵]]。 *:证明可以通过[[高斯消去法]]构造性地给出。 * 西尔维斯特不等式: 如果 ''A'' 是一个 ''m'' × ''n'' 的矩阵且 ''B'' 是 ''n'' × ''k'' 的, 则 *::<math>\operatorname{rank}(A) + \operatorname{rank}(B) - n \leq \operatorname{rank}(A B).</math>{{efn-lr|证明: 对不等式<math>\dim \operatorname{ker}(AB) \le \dim \operatorname{ker}(A) + \dim \operatorname{ker}(B)</math>使用秩-零化度定理}} *:这是下一个不等式的特例. * 这个不等式是由[[费迪南德·格奥尔格·弗罗贝尼乌斯|Frobenius]]提出的: 如果 ''AB'', ''ABC'' 和 ''BC'' 有定义, 则 *:<math>\operatorname{rank}(AB) + \operatorname{rank}(BC) \le \operatorname{rank}(B) + \operatorname{rank}(ABC).</math>{{efn-lr|证明:商空间之间的映射C: ker(''ABC'') / ker(''BC'') → ker(''AB'') / ker(''B'')有定义且为单射。因此我们得到了关于核维数关系的不等式dim ker(''ABC'')-dim ker(''BC'') ≤ dim ker(''AB'') - dim ker(''B''), 利用秩-零化度定理即可得到结论(即dim ker(''ABC'')-dim ker(''BC'')<nowiki>=</nowiki>rank(''BC'')-rank(''ABC''), 右边同理)。或者也可以这么证明:假如''M''是一个子线性空间,''A''是线性映射,那么dim(''A(M)'') ≤ dim(''M'') '''(*)'''; 记映射BC(注意先进行C映射后进行B映射)的像为im(BC), 映射B的像为im(B), 则im(BC)⊆im(B), 取im(B)中im(BC)的正交补(不一定要正交,构成直和关系即可,这里取正交补只是为了方便)记为''D'', 则dim(''D'') <nowiki> = </nowiki> rk(''B'') – rk(''BC''); 而由线性映射的规律知im(''AB'') <nowiki> = </nowiki> ''AD ''+ im(''ABC''), 但不一定再是直和,即dim(''AD'') + rk(''ABC'') ≥ rk(''AB''), 利用不等式'''(*)'''可得dim(''D'')[<nowiki>=</nowiki>rk(''B'') – rk(''BC'')] + rk(''ABC'') ≥ rk(''AB''), 从而得证。}} * 子加性:当矩阵<math>A</math>和<math>B</math>的形状相同时,有<math>\operatorname{rank}(A + B) \leq \operatorname{rank}(A) + \operatorname{rank}(B)</math> . 因此,一个秩为''k''的矩阵能够表示成k个秩为1的矩阵的加和,但不能是k-1个或更少。 * 矩阵的秩加上矩阵的[[零空间|零化度]]等于矩阵的纵列数(这就是[[秩-零化度定理]])。 * 如果 ''A'' 是[[实数]]上的矩阵,那么 ''A'' 的秩和它对应[[格拉姆矩阵]]的秩相等。于是,对于实矩阵 *::<math>\operatorname{rank}(A^T A) = \operatorname{rank}(A A^T) = \operatorname{rank}(A) = \operatorname{rank}(A^T)</math>. *:该性质可以通过它们的[[零空间]]证明. [[格拉姆矩阵]]的零空间由所有满足 <math>A^T A x = 0</math>的向量<math>x</math>组成。如果上式成立, 那么下式也成立: <math>0 = x^T A^T A x = |A x|^2</math>,于是,<math>A x = 0</math>,即<math>A^T A</math>与<math>A</math>的零空间相同.<ref>{{cite book| last = Mirsky| first = Leonid| title = An introduction to linear algebra| year = 1955| publisher = Dover Publications| isbn = 978-0-486-66434-7 }}</ref> * 如果 ''A'' 是[[复数 (数学)|复数]]上的矩阵且 ''A''* 表示 ''A'' 的共轭转置(i.e., ''A ''的[[伴随算子|伴随]]), 则 *:<math>\operatorname{rank}(A) = \operatorname{rank}(\overline{A}) = \operatorname{rank}(A^T) = \operatorname{rank}(A^*) = \operatorname{rank}(A^*A).</math> === 向量组的线性相关性 === 将<math>m</math>个<math>n</math>维列向量排列成<math>n \times m</math>的矩阵''A'',这个对应矩阵的秩即为原向量组的秩。 原向量组线性相关的充分必要条件为: :<math>r(A) < m</math> 如果 :<math>r(A) = m</math> 则向量组线性无关。另外,不存在 :<math>r(A) > m</math> 特殊的,若向量的个数<math>m</math>大于向量的维数<math>n</math>,则根据: :<math>r(A) \le n < m</math> 这个向量组必然线性相关。 == 计算 == 计算矩阵''A''的秩的最容易的方式是[[高斯消去法]],即利用矩阵的[[初等矩阵#操作|初等变换]]生成一个[[阶梯形矩阵|行阶梯形矩阵]],由于矩阵的初等变换不改变矩阵的秩,因此''A''的行阶梯形矩阵有同''A''一样的秩。经过初等变换的矩阵的非零行的数目就是原矩阵的秩。 例如考虑4 × 4矩阵 :<math> A = \begin{bmatrix} 2 & 4 & 1 & 3 \\ -1 & -2 & 1 & 0 \\ 0 & 0 & 2 & 2 \\ 3 & 6 & 2 & 5 \\ \end{bmatrix}</math> 我们看到第2纵列是第1纵列的两倍,而第4纵列等于第1和第3纵列的总和。第1和第3纵列是线性无关的,所以''A''的秩是2。这可以用高斯算法验证。它生成下列''A''的行阶梯形矩阵: :<math> A = \begin{bmatrix} 1 & 2 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix}</math> 它有两个非零的横行。 在应用在计算机上的[[浮点数]]的时候,基本高斯消去([[LU分解]])可能是不稳定的,应当使用秩启示(revealing)分解。一个有效的替代者是[[奇异值分解]](SVD),但还有更少代价的选择,比如有支点(pivoting)的[[QR分解]],它也比高斯消去在数值上更强壮。秩的数值判定要求对一个值比如来自SVD的一个奇异值是否为零的依据,实际选择依赖于矩阵和应用二者。 == 应用 == 计算矩阵的秩的一个有用应用是计算[[线性方程组]]解的数目。如果[[系数矩阵]]的秩等于[[增广矩阵]]的秩,则该方程组有解。在这种情况下,如果它的秩等于方程的数目那么该方程组有唯一的一个精确解。如果[[增广矩阵]]的秩大于[[系数矩阵]]的秩,则方程组是不一致(Inconsistent)的。 在[[控制论]]中,矩阵的秩可以用来确定[[线性系统]]是否为[[可控制性|可控制]]的,或[[可观察性|可观察]]的。 == 註解 == {{notelist-lr}} == 参考文献 == <references/> * Horn, Roger A. and Johnson, Charles R. Matrix Analysis. Cambridge University Press, 1985. ISBN 978-0-521-38632-6. * Kaw, Autar K. Two Chapters from the book Introduction to Matrix Algebra: 1. Vectors [https://web.archive.org/web/20080308013809/http://numericalmethods.eng.usf.edu/mws/che/04sle/mws_che_sle_bck_vectors.pdf] and System of Equations [https://web.archive.org/web/20080308013811/http://numericalmethods.eng.usf.edu/mws/che/04sle/mws_che_sle_bck_system.pdf] == 参见 == * [[向量组的秩]] {{线性代数的相关概念}} [[Category:矩陣論|Z]] [[Category:線性代數|Z]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:Efn-lr
(
查看源代码
)
Template:Lang
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Notelist-lr
(
查看源代码
)
Template:线性代数
(
查看源代码
)
Template:线性代数的相关概念
(
查看源代码
)
返回
秩 (线性代数)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息