# 克拉默法则

# 简介

克拉默法则用于求解 个未知数的线性方程组 ,当 为可逆方阵时可直接给出解的公式。

# 公式

阶可逆方阵, 表示把 的第 列替换为常数列 得到的矩阵,则

# 使用条件

  • 必须是方阵
  • 适合小规模(2x2、3x3),大规模数值计算更常用消元或分解方法。

# 二元示例

\begin{cases} a_{11}x+a_{12}y=b_1\\ a_{21}x+a_{22}y=b_2 \end{cases}

\Delta=\begin{vmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{vmatrix}

x=\dfrac{\begin{vmatrix}b_1&a_{12}\\b_2&a_{22}\end{vmatrix}}{\Delta}, \quad y=\dfrac{\begin{vmatrix}a_{11}&b_1\\a_{21}&b_2\end{vmatrix}}{\Delta}。

# JS 实现

const det2 = (a, b, c, d) => a * d - b * c
const cramer2 = (a11, a12, a21, a22, b1, b2) => {
  const D = det2(a11, a12, a21, a22)
  if (D === 0) throw new Error('no unique solution')
  const Dx = det2(b1, a12, b2, a22)
  const Dy = det2(a11, b1, a21, b2)
  return [Dx / D, Dy / D]
}

# 应用

  • 小规模线性方程组的解析解。
  • 理论推导中常作为“存在唯一解”的判据之一。