线性代数及其应用(三)-行列式

1. 行列式的介绍

  • 当$n \geq 2$,nxn矩阵$A = [a_{ij}]$的行列式是形如$\pm a_{ij}detA_{ij}$的n个项的和,其中加号和减号交替出现,这里元素$a_{11}, a_{12}, \cdots, a_{1n}$来自A的第一行,即$detA = a_{11}detA_{11} - a_{12}detA_{12} + \cdots + (-1)^{1+n}a_{1n}detA_{1n} = \sum_{j=1}^{n}(-1)^{1+j}a_{1j}detA_{1j}$.
  • 给定$A = [a_{ij}]$,A的(i, j)余因子$C_{ij}$由下式给出$C_{ij} = (-1)^{i+j}detA_{ij}$,则$detA = a_{11}C_{11} + a_{12}C_{12} + \cdots + a_{1n}C_{1n}$.
  • nxn矩阵A的行列式可按任意行或列的余因子展开式来计算。按第i行展开为$detA = a_{i1}C_{i1} + a_{i2}C_{i2} + \cdots + a_{in}C_{in}$;按第j列的余因子展开式为$detA = a_{1j}C_{1j} + a_{2j}C_{2j} + \cdots + a_{nj}C_{nj}$.

2 行列式的性质

  • 令A是一个方阵
    • 若A的某一行的倍数加到另一行得到矩阵B,则$det B = det A$
    • 若A的两行互换得到矩阵B,则$det B = det A$
    • 若A的某行乘以k倍得到矩阵B,则$det B = kdet A$
  • 方阵A可逆当且仅当$det A \neq 0$
  • 若A为一个nxn矩阵,则$det A^T = det A$
  • 若A和B均为nxn矩阵,则$det AB = (det A)(det B)$
1
2
3
4
5
6
7
8
def det(A):
if len(A) == 1:
return A[0][0]
value = 0
for i in range(len(A)):
n = [[row[a] for a in range(len(A)) if a != i] for row in A[1:]]
value += A[0][i] * det(n) * (-1) ** (i % 2)
return value

3. 克拉默法则、体积和线性变换

  • 克拉默法则
    • 设A是一个可逆的nxn矩阵,对$R^n$中任意向量b,方程$Ax = b$的唯一解可由下式给出$x_i = \frac{det A_{i}(b)}{det A}$,其中,$i = 1, 2, \dots, n$.
  • 一个求$A^{-1}$的公式
    • $A^{-1}$的第j列是一个向量x,满足$Ax = e_j$,其中$e_j$是单位矩阵的第j列,x的第i个数值是$A^{-1}$中(i, j)位置的数值,由克拉默法则$\{A^{-1}中(i, j)元素\} = x_i = \frac{det A_i(e_j)}{det A}$
    • 那么,$A^{-1} = \frac{1}{det A}adj A$
  • 用行列式表示面积或体积
    • 若A是一个2x2矩阵,则由A的列确定的平行四边形的面积为$|det A|$,若A是一个3x3矩阵,则由A的列确定的平行六面体的体积为$|det A|$