You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数值计算中初等矩阵的表示:如何用u、v实现所有初等行变换?

这个问题问得很到位!咱们先从初等矩阵的本质和秩1修正的逻辑说起,再逐一对应三种初等行变换找到对应的u和v。

理解初等矩阵的秩1修正表示:I + uv^T

为什么这个定义成立?

首先,初等矩阵是对单位矩阵执行一次初等行变换得到的矩阵。而所有初等行变换带来的单位矩阵的修改,都可以等价于加上一个秩1矩阵(也就是uv^T的形式,因为向量外积的秩最多是1)。这种表示的核心优势在于:只需要存储两个n维向量u和v,就能替代存储整个n×n的初等矩阵,大大节省存储空间;同时秩1修正矩阵还有很多便于计算的性质(比如行列式、逆矩阵的快速推导)。

接下来我们逐一对应三种初等行变换,找到对应的u和v:

1. 倍加变换:将第j行的k倍加到第i行(i≠j)

这是最常见的初等行变换,对应的初等矩阵是把单位矩阵的第(i,j)位置改成k。我们可以把它拆成:

E = I + k e_i e_j^T

其中e_i是标准单位向量(第i个分量为1,其余全为0),e_j同理。

  • 对应的u和v:u = k e_i,v = e_j
  • 验证:uv^T = k e_i e_j^T,这是一个只有第(i,j)位置为k,其余全为0的矩阵,加在单位矩阵I上正好得到倍加变换的初等矩阵。

例子:n=3,把第2行的2倍加到第1行,对应的E是:

[1 2 0]
[0 1 0]
[0 0 1]

取u=[2, 0, 0]^T,v=[0, 1, 0]^T,uv^T就是:

[0 2 0]
[0 0 0]
[0 0 0]

I加上这个矩阵正好等于E,完全正确。

2. 数乘变换:将第i行乘以非零常数c

这种变换是把单位矩阵的第(i,i)位置改成c,其余不变。我们可以写成:

E = I + (c-1) e_i e_i^T
  • 对应的u和v:u = (c-1) e_i,v = e_i
  • 验证:uv^T = (c-1) e_i e_i^T,这是一个只有第(i,i)位置为c-1的矩阵,加在I上后,第(i,i)位置变为1+(c-1)=c,正好是数乘变换的初等矩阵。

例子:n=3,第2行乘5,对应的E是:

[1 0 0]
[0 5 0]
[0 0 1]

取u=[0, 4, 0]^T,v=[0, 1, 0]^T,uv^T就是:

[0 0 0]
[0 4 0]
[0 0 0]

I加上这个矩阵等于E,符合要求。

3. 交换变换:交换第i行和第j行(i≠j)

交换两行的初等矩阵是置换矩阵,看起来结构特殊,但其实也可以表示为I加上一个秩1矩阵:

E = I + (e_i - e_j)(e_j^T - e_i^T)

展开后可以看到,这个秩1矩阵会把I的第(i,i)和(j,j)位置的1抵消,同时在(i,j)和(j,i)位置补上1,正好实现两行交换。

  • 对应的u和v:u = e_i - e_j,v = e_j - e_i
  • 验证:uv^T = (e_i - e_j)(e_j^T - e_i^T),展开后是e_i e_j^T - e_i e_i^T - e_j e_j^T + e_j e_i^T,加在I上就得到交换两行的矩阵。

例子:n=2,交换第1和2行,对应的E是:

[0 1]
[1 0]

取u=[1, -1]^T,v=[-1, 1]^T,uv^T就是:

[-1 1]
[1 -1]

I加上这个矩阵等于[[1-1, 0+1], [0+1, 1-1]] = [[0,1],[1,0]],完全正确。

额外补充:秩1修正矩阵的实用性质

这种表示方法不止是节省空间,还有很多好用的计算性质:

  • 行列式:det(I + uv^T) = 1 + v^T u(标量点积),比直接计算n×n矩阵行列式快得多。
  • 逆矩阵:当1 + v^T u ≠ 0时,(I + uv^T)^{-1} = I - (uv^T)/(1 + v^T u),这个公式推导和计算都很方便。

内容的提问来源于stack exchange,提问作者Ted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:28:02