# 逆矩阵

# 简介

若方阵 存在矩阵 使得 ,则称 可逆, 的逆矩阵。

# 存在条件

阶方阵:

  • 可逆
  • 可逆

# 求逆方法

  1. 伴随矩阵法(适合小规模)。
  2. 初等变换法:将 通过行变换化为

# 性质

  • (需 可逆)

# JS 实现(高斯-约当)

const inverse = (A) => {
  const n = A.length
  const M = A.map((row, i) => row.concat(
    Array.from({ length: n }, (_, j) => (i === j ? 1 : 0))
  ))
  for (let i = 0; i < n; i++) {
    // 选主元(简单起见,找非零行)
    let pivot = i
    for (let r = i; r < n; r++) if (M[r][i] !== 0) { pivot = r; break }
    if (M[pivot][i] === 0) throw new Error('singular matrix')
    ;[M[i], M[pivot]] = [M[pivot], M[i]]
    const div = M[i][i]
    for (let j = 0; j < 2 * n; j++) M[i][j] /= div
    for (let r = 0; r < n; r++) {
      if (r === i) continue
      const factor = M[r][i]
      for (let j = 0; j < 2 * n; j++) M[r][j] -= factor * M[i][j]
    }
  }
  return M.map(row => row.slice(n))
}

# 应用

  • 解方程组 (前提 可逆)。
  • 线性变换的“逆变换”。