周行文 2025-09-21 04:50 采纳率: 98.8%
浏览 6
已采纳

伴随矩阵乘以原矩阵等于什么?

伴随矩阵乘以原矩阵等于什么?一个常见的技术问题是:为何对于任意 n 阶方阵 A,都有 A 的伴随矩阵 adj(A) 满足 adj(A)·A = A·adj(A) = det(A)·I?特别是在奇异矩阵(即 det(A)=0)的情况下,该等式如何成立?许多初学者误以为此时乘积应为零矩阵,但实际上结果是标量 0 与单位矩阵的乘积,即零矩阵。理解这一性质对掌握矩阵可逆性、求逆公式 A⁻¹ = adj(A)/det(A) 及其应用至关重要。
  • 写回答

1条回答 默认 最新

  • 希芙Sif 2025-09-21 04:50
    关注

    伴随矩阵与原矩阵乘积的数学本质及其在工程中的意义

    1. 什么是伴随矩阵?——基础定义与构建方式

    对于一个 n 阶方阵 A,其伴随矩阵(adjugate matrix),记作 adj(A),是由 A 的代数余子式构成的矩阵的转置。具体地:

    • 设 \( C_{ij} \) 为元素 \( a_{ij} \) 的代数余子式;
    • 构造余子式矩阵 \( C = [C_{ij}] \);
    • 则 \( \text{adj}(A) = C^T \)。

    例如,对 2×2 矩阵:

    \[ A = \begin{bmatrix} a & b \\ c & d \end{bmatrix},\quad \text{adj}(A) = \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} \]

    这一结构是后续推导的核心起点。

    2. 核心等式:adj(A)·A = A·adj(A) = det(A)·I

    这是线性代数中一个关键恒等式。我们从分量角度分析为何成立。

    维度Aadj(A)det(A)adj(A)·A
    2×2\( \begin{smallmatrix}1&2\\3&4\end{smallmatrix} \)\( \begin{smallmatrix}4&-2\\-3&1\end{smallmatrix} \)-2\( -2I \)
    3×3任意按余子式构造行列式值结果为 det(A)·I

    该等式可通过展开矩阵乘法并利用拉普拉斯展开定理严格证明。

    3. 数学证明路径:从余子式到行列式展开

    考虑 adj(A)·A 的第 (i,j) 元素:

    \[ [\text{adj}(A) \cdot A]_{ij} = \sum_{k=1}^{n} (\text{adj}(A))_{ik} a_{kj} = \sum_{k=1}^{n} C_{ki} a_{kj} \]

    当 i = j 时,上式即为按第 i 行展开的 det(A);

    当 i ≠ j 时,它等价于将 A 的第 j 行替换为第 i 行后的行列式(两行相同 → 行列式为 0)。

    因此:

    \[ \text{adj}(A) \cdot A = \det(A) \cdot I \]

    同理可证左乘情况。

    4. 奇异矩阵情形下的深入解析

    当 det(A) = 0 时,A 不可逆,但 adj(A) 仍存在。

    此时有:

    \[ \text{adj}(A) \cdot A = A \cdot \text{adj}(A) = 0 \cdot I = \mathbf{0}_{n\times n} \]

    注意:这不是“未定义”或“无意义”,而是明确的零矩阵。

    常见误解在于认为 adj(A) 必须为零矩阵才能满足此式,但实际上 adj(A) 可非零,只要其与 A 相乘后每一列都落在 A 的零空间中即可。

    例如:

    \[ A = \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix},\quad \text{adj}(A) = \begin{bmatrix} 4 & -2 \\ -2 & 1 \end{bmatrix},\quad \text{adj}(A)\cdot A = \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \]

    5. 工程视角:在系统稳定性与故障检测中的应用

    在控制系统中,状态转移矩阵若接近奇异,其伴随矩阵可用于评估系统退化程度。

    代码示例(Python + NumPy)验证关系:

    import numpy as np
    
    def verify_adj_identity(A):
        det_A = np.linalg.det(A)
        cofactors = np.zeros_like(A)
        for i in range(A.shape[0]):
            for j in range(A.shape[1]):
                minor = np.delete(np.delete(A, i, axis=0), j, axis=1)
                cofactors[i,j] = (-1)**(i+j) * np.linalg.det(minor)
        adj_A = cofactors.T
        lhs = adj_A @ A
        rhs = det_A * np.eye(A.shape[0])
        print("adj(A)@A ≈ det(A)*I:", np.allclose(lhs, rhs))
        return adj_A
    
    # 测试奇异矩阵
    A_singular = np.array([[1,2],[2,4]])
    verify_adj_identity(A_singular)
    

    6. 深层联系:与矩阵求逆公式的统一框架

    当 det(A) ≠ 0 时,由 adj(A)·A = det(A)·I 可得:

    \[ A^{-1} = \frac{1}{\det(A)} \text{adj}(A) \]

    这不仅是理论公式,在嵌入式系统或资源受限环境中,小规模矩阵求逆常直接使用伴随法实现。

    流程图展示计算逻辑:

    graph TD A[输入矩阵 A] --> B{det(A) == 0?} B -- 是 --> C[输出 adj(A), 用于分析零空间] B -- 否 --> D[计算代数余子式矩阵] D --> E[转置得 adj(A)] E --> F[计算 A⁻¹ = adj(A)/det(A)] F --> G[返回逆矩阵]

    7. 高阶推广:在张量与多维数组处理中的延伸思考

    在机器学习中,高维数据常需降维或正则化处理。当协方差矩阵接近奇异时,使用 adj(A) 提供了一种避免显式求逆的数值稳定策略。

    此外,在图神经网络中,图拉普拉斯矩阵的伪逆可通过伴随结构近似,尤其适用于大规模稀疏图。

    这种思想也体现在 Tikhonov 正则化中:

    \[ (A^TA + \lambda I)^{-1}A^T \approx \frac{\text{adj}(A^TA + \lambda I)}{\det(A^TA + \lambda I)}A^T \]

    其中分母不为零确保了稳定性。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 9月21日