矩阵的初等变换

手动执行行交换、倍乘、倍加变换,直观展现行简化与高斯消元的核心微观操作

📖 矩阵初等变换定义与性质

矩阵的初等变换 (Elementary Transformations) 是指以下三类行/列操作:

📐 三类初等行变换

  1. 行对调:交换两行(记作 $r_i \leftrightarrow r_j$)。
  2. 行倍乘:非零常数 $k$ 乘以某一行(记作 $r_i \leftarrow k \cdot r_i, k \neq 0$)。
  3. 行倍加:将某一行的 $k$ 倍加到另一行上去(记作 $r_i \leftarrow r_i + k \cdot r_j$)。

代数意义:初等行变换不会改变对应的线性方程组的解集。这是高斯消元法和求逆矩阵的理论基石!

1. 行对调: 交换 Row 与 Row
2. 行倍乘: 将 Row 乘以常数
3. 行倍加: 将 Row 的 倍,加到 Row
可以在下方输入框中直接修改矩阵元素,在上方控制板中选择变换并执行。
最后操作 -
当前矩阵阶数 3 × 4
变换计数 0
📊 增广矩阵变换操作区
// 矩阵初等变换辅助函数
struct Matrix { double val[3][4]; };

// 1. 交换第 r1 行与第 r2 行
void swapRows(Matrix &M, int r1, int r2) {
    for (int j = 0; j < 4; j++) std::swap(M.val[r1][j], M.val[r2][j]);
}

// 2. 将第 r 行所有元素乘以常数 k
void scaleRow(Matrix &M, int r, double k) {
    for (int j = 0; j < 4; j++) M.val[r][j] *= k;
}

// 3. 将第 rj 行的 k 倍加到第 ri 行
void addRowMultiple(Matrix &M, int rj, int ri, double k) {
    for (int j = 0; j < 4; j++) M.val[ri][j] += k * M.val[rj][j];
}
📋 变换操作历史日志