第一章,07-方程组的行列式解法-克莱姆法则

第一章,07-方程组的行列式解法-克莱姆法则

      • 简介
      • 克莱姆法则
      • numpy计算行列式

简介

这是《玩转线性代数》的学习笔记。
示例请查看原文

克莱姆法则

设线性方程组
{ a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 − − − − − − − − − − − − − − a 31 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n \left\{ \begin{aligned} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n = b_1\\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n = b_2\\ --------------\\ a_{31}x_1+a_{n2}x_2+\cdots+a_{nn}x_n = b_n\\ \end{aligned} \right. \quad a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2a31x1+an2x2++annxn=bn
其系数行列式 D = ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ∣ D=\begin{vmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots &a_{2n} \\ \vdots & \vdots & & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{vmatrix} D=a11a21an1a12a22an2a1na2nann,用常数向量 β = ( b 1 b 2 ⋮ b n ) \beta=\begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \\ \end{pmatrix} β=b1b2bn替换 D D D的第j列所得的n阶行列式记叙 D j D_j Dj,即
D = ∣ a 11 ⋯ a 1 , j − 1 b 1 a 1 , j − 1 ⋯ a 1 n a 21 ⋯ a 2 , j − 1 b 2 a 2 , j − 1 ⋯ a 2 n ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ a n 1 ⋯ a n , j − 1 b n a n , j − 1 ⋯ a n n ∣ , ( j = 1 , 2 , ⋯   , n ) 。 D=\begin{vmatrix} a_{11} &\cdots& a_{1,j-1} & b_1 & a_{1,j-1}& \cdots & a_{1n} \\ a_{21} &\cdots& a_{2,j-1} & b_2 & a_{2,j-1}& \cdots & a_{2n} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ a_{n1} &\cdots& a_{n,j-1} & b_n & a_{n,j-1}& \cdots & a_{nn} \\ \end{vmatrix},(j=1,2,\cdots,n)。 D=a11a21an1a1,j1a2,j1an,j1b1b2bna1,j1a2,j1an,j1a1na2nann,(j=1,2,,n)
D ≠ 0 D\neq0 D=0,则线性方程组存在唯一解:
x 1 = D 1 D , x 2 = D 2 D , ⋯   , x n = D n D x_1=\frac{D_1}{D},x_2=\frac{D_2}{D},\cdots,x_n=\frac{D_n}{D} x1=DD1,x2=DD2,,xn=DDn

numpy计算行列式

文章中提到用Matlab计算行列式,作为python程序员,当然是抄家伙搞numpy了:

import numpy as np

matrix = [[1,2,3], [4,5,6], [7,8,9]]
# 二维列表转为numpy数组
m = np.array(matrix)
# linalg线性代数包,det计算行列式
det = np.linalg.det(m)

你可能感兴趣的:(玩转线性代数,Math)