手动执行行交换、倍乘、倍加变换,直观展现行简化与高斯消元的核心微观操作
矩阵的初等变换 (Elementary Transformations) 是指以下三类行/列操作:
代数意义:初等行变换不会改变对应的线性方程组的解集。这是高斯消元法和求逆矩阵的理论基石!
// 矩阵初等变换辅助函数
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];
}