题目

给定一个 3×3 方阵,编写程序计算其行列式(det)以及主对角线元素之和(trace);并判定该矩阵是否奇异(可逆性初探)。

输入格式:无需外部输入。

输出格式:输出原方阵、行列式数值、迹数值及可逆性结论。

数据范围与约定:方阵线性代数指标。

思路与算法

1. 行列式 det
只有方阵存在行列式。若 $\det(A) = 0$(或其绝对值小于极小阈值),矩阵为奇异矩阵(Singular Matrix),此时矩阵不可逆,列向量线性相关。

2. 矩阵的迹 trace
主对角线元素之和:$\text{tr}(A) = \sum A_{ii}$。具有重要性质:方阵的迹等于其所有特征值之和。

3. 数值精度与奇异判定
由于浮点截断误差,理论上奇异的矩阵计算出的行列式可能为 1e-16 而非严格 0。工程判定通常使用 abs(det(A)) < 1e-10 或检测条件数 rcond(A)。

完整程序

% Octave / MATLAB 第27题:矩阵行列式与迹
A = [2, 1, 1;
     1, 3, 2;
     1, 0, 0];

d_val = det(A);
t_val = trace(A);

fprintf("矩阵 A:\n");
disp(A);
fprintf("行列式 det(A) = %.4f\n", d_val);
fprintf("矩阵的迹 trace(A) = %.4f (主对角线 2+3+0)\n", t_val);

if abs(d_val) > 1e-10
    fprintf("结论: det 不为 0,矩阵非奇异,可逆。\n");
else
    fprintf("结论: det 接近 0,矩阵近似奇异,不可逆。\n");
end

运行示例

输出:

矩阵 A:
   2   1   1
   1   3   2
   1   0   0
行列式 det(A) = -1.0000
矩阵的迹 trace(A) = 5.0000 (主对角线 2+3+0)
结论: det 不为 0,矩阵非奇异,可逆。