矩阵【线性代数系列(二)】
文章目录
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ

🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
1.线性方程组
对有n个未知数和m个方程的线性方程组:
a
11
x
1
+
a
12
x
2
+
.
.
.
+
a
1
n
x
n
=
b
1
a_{11}x_{1}+a_{12}x_2+...+a_{1n}x_n=b_1
a11x1+a12x2+...+a1nxn=b1
a
21
x
1
+
a
22
x
2
+
.
.
.
+
a
2
n
x
n
=
b
2
a_{21}x_1+a_{22}x_2+...+a_{2n}x_n=b_{2}
a21x1+a22x2+...+a2nxn=b2
.
.
.
...
...
a
m
1
x
1
+
a
m
2
x
2
+
.
.
.
+
a
m
n
x
n
=
b
m
a_{m1}x_1+a_{m2}x_2+...+a_{mn}x_n=b_{m}
am1x1+am2x2+...+amnxn=bm
当 b 1 , b 2 , . . . , b m b_1,b_2,...,b_m b1,b2,...,bm不全为0时,线性方程组被称为n元非齐次线性方程组。
当 b 1 , b 2 , . . . , b m b_1,b_2,...,b_m b1,b2,...,bm全为0时,线性方程组被称为n元齐次线性方程组。
对n元齐次线性方程组,
x
1
,
x
2
,
.
.
.
x
n
=
0
x_1,x_2,...x_n=0
x1,x2,...xn=0一定是它的解,这个解叫做n元齐次线性方程组的零解。
n元齐次线性方程组一定有零解,但不一定有非零解。
2.矩阵的概念
m×n个数字组成的m行n列矩阵:
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
a
m
1
a
m
2
.
.
.
a
m
n
]
\begin{bmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} &... & a_{2n}\\ ...&... &...&... \\ a_{m1}&a_{m2}&...&a_{mn} \end{bmatrix}
⎣
⎡a11a21...am1a12a22...am2............a1na2n...amn⎦
⎤
被称为m×n矩阵。
当m=n时也被称为
n
阶矩阵
n阶矩阵
n阶矩阵或n阶方阵。
如果A和B是行数和列数都相同的矩阵,则称A与B是同型矩阵。
如果同型矩阵A和B对应位置的元素都相等,则称A与B相等。
元素都是实数的矩阵称为实矩阵,元素都是复数的矩阵称为复矩阵。
只有一行的矩阵称为 行矩阵,也称 行向量。
只有一列的矩阵称为 列矩阵,也称 列向量。
元素都是0的矩阵是
零矩阵
零矩阵
零矩阵,可简记为
o
o
o
对非齐次线性方程组:
a
11
x
1
+
a
12
x
2
+
.
.
.
+
a
1
n
x
n
=
b
1
a_{11}x_{1}+a_{12}x_2+...+a_{1n}x_n=b_1
a11x1+a12x2+...+a1nxn=b1
a
21
x
1
+
a
22
x
2
+
.
.
.
+
a
2
n
x
n
=
b
2
a_{21}x_1+a_{22}x_2+...+a_{2n}x_n=b_{2}
a21x1+a22x2+...+a2nxn=b2
.
.
.
...
...
a
m
1
x
1
+
a
m
2
x
2
+
.
.
.
+
a
m
n
x
n
=
b
m
a_{m1}x_1+a_{m2}x_2+...+a_{mn}x_n=b_{m}
am1x1+am2x2+...+amnxn=bm
可以表示为矩阵:
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
a
m
1
a
m
2
.
.
.
a
m
n
]
×
[
x
1
x
2
.
.
.
x
n
]
=
[
b
1
b
2
.
.
.
b
n
]
\begin{bmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} &... & a_{2n}\\ ...&... &...&... \\ a_{m1}&a_{m2}&...&a_{mn} \end{bmatrix}×\begin{bmatrix} x_{1} \\ x_{2} \\ ... \\ x_{n} \\ \end{bmatrix}=\begin{bmatrix} b_{1} \\ b_{2} \\ ... \\ b_{n} \\ \end{bmatrix}
⎣
⎡a11a21...am1a12a22...am2............a1na2n...amn⎦
⎤×⎣
⎡x1x2...xn⎦
⎤=⎣
⎡b1b2...bn⎦
⎤
其中,
第一个矩阵是 系数矩阵,第二个矩阵是 未知数矩阵,第三个矩阵是 常数项矩阵。
也可以写成
[
a
11
a
12
.
.
.
a
1
n
b
1
a
21
a
22
.
.
.
a
2
n
b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m
1
a
m
2
.
.
.
a
m
n
b
n
]
×
[
x
1
x
2
.
.
.
x
n
1
]
=
[
0
0
.
.
.
0
]
\begin{bmatrix} a_{11} & a_{12} & ... & a_{1n} &b_1\\ a_{21} & a_{22} &... & a_{2n} & b_2\\ ...&... &...&... & ... \\ a_{m1}&a_{m2}&...&a_{mn}&b_n \end{bmatrix}×\begin{bmatrix} x_{1} \\ x_{2} \\ ... \\ x_{n}\\1\\ \end{bmatrix}=\begin{bmatrix} 0 \\ 0 \\ ... \\ 0 \\ \end{bmatrix}
⎣
⎡a11a21...am1a12a22...am2............a1na2n...amnb1b2...bn⎦
⎤×⎣
⎡x1x2...xn1⎦
⎤=⎣
⎡00...0⎦
⎤
这种形式下,第一个矩阵被称为 增广矩阵。
3. 对角矩阵 与 单位矩阵
Λ
=
[
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
]
\Lambda= \begin{bmatrix} \lambda_1 & 0 & ... & 0 \\ 0 & \lambda_2 & ... & 0 \\ ... & ...& ...& ...\\ 0 & 0 & ... & \lambda_n \\ \end{bmatrix}
Λ=⎣
⎡λ10...00λ2...0............00...λn⎦
⎤
像这样,从左上,到右下角直线上以外的元素都为0的矩阵,被称为 对角矩阵。简称 对角阵。对角阵也记作
Λ
=
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
\Lambda=diag(\lambda_1,\lambda_2,...,\lambda_n)
Λ=diag(λ1,λ2,...,λn)
特别的,当
λ
1
=
λ
2
=
.
.
.
=
λ
n
=
1
\lambda_1=\lambda_2=...=\lambda_n=1
λ1=λ2=...=λn=1时,矩阵如下:
E
=
[
1
0
.
.
.
0
0
1
.
.
.
0
.
.
.
.
.
.
.
.
.
0
0
.
.
.
1
]
E= \begin{bmatrix} 1 & 0 & ... & 0 \\ 0 & 1 & ... & 0 \\ ... & ...& & ...\\ 0 & 0 & ... & 1 \\ \end{bmatrix}
E=⎣
⎡10...001...0.........00...1⎦
⎤
这样的矩阵叫做 单位矩阵,简称单位阵。
单位矩阵的元可以表示为:
e
i
j
=
{
1
,
当
i
=
j
0
,
当
i
≠
j
(
i
,
j
=
1
,
2
,
.
.
.
,
n
)
e_{ij}=\left\{ \begin{aligned} 1 &,& 当\quad i=j\\ 0&,&当 \quad i≠j \end{aligned} \right.(i,j=1,2,...,n)
eij={10,,当i=j当i=j(i,j=1,2,...,n)
4.矩阵的运算
4.1 矩阵的加法
两个同型矩阵可以相加,相加方式为对应位置的数字之间相加。
矩阵的加法是满足交换律的。
4.2 矩阵的数乘
数量乘法(数乘)
使用一个常数乘以一个矩阵,即使用该常数乘以矩阵中的每一个元素。
矩阵的数乘满足乘法的交换律和结合律,以及分配率。
4.3 矩阵的乘法
以
C
=
A
B
C=AB
C=AB为例,则A、B需要满足A的列数等于B的行数。设A是m×s矩阵,B是s×n矩阵,则C是一个m×n矩阵。则
c
i
j
=
∑
k
=
1
s
a
i
k
b
k
j
=
a
i
1
b
1
j
+
a
i
2
b
2
j
+
.
.
.
+
a
i
s
b
s
j
c_{ij}=\sum_{k=1}^sa_{ik}b_{kj}=a_{i1}b_{1j}+a_{i2}b_{2j}+...+a_{is}b_{sj}
cij=∑k=1saikbkj=ai1b1j+ai2b2j+...+aisbsj
矩阵的乘法不满足交换律。但是满足结合律和分配率。
为了方便记忆,这里引入实际情景,
以多元回归方程的矩阵形式为例:
其中,对
X
i
j
X_{ij}
Xij,不同的
i
i
i 表示不同的特征,不同的j表述不同的样本。
即
X
i
j
X_{ij}
Xij所在的矩阵的第一列是为引入常数项准备的,后边每一列对应一个特征,而每一行表示一个样本,
β
1
\beta1
β1表示截距项,
β
2
\beta2
β2~
β
k
\beta k
βk则表示每个特征的回归系数,
μ
i
\mu_i
μi表示残差项。
x
i
j
x_{ij}
xij所在的矩阵与
β
i
\beta_i
βi所在的矩阵相乘,得到的是一个n行1列的矩阵,即与
β
i
\beta_{i}
βi所在的矩阵有着相同的shape。
[
Y
1
Y
2
.
.
.
Y
n
]
=
[
1
X
21
X
31
.
.
.
X
k
1
1
X
22
X
32
.
.
.
X
k
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
X
2
n
X
n
.
.
.
X
k
n
]
[
β
1
β
2
.
.
.
β
k
]
+
[
u
1
u
2
.
.
.
u
n
]
\begin{gathered} \begin{bmatrix}Y_1 \\ Y_2 \\ ... \\ Y_n \end{bmatrix}= \begin{bmatrix} 1 & X_{21} & X_{31}& ... & X_{k1} \\ 1 & X_{22} & X_{32}& ... & X_{k2} \\ ... & ... & ... & ... & ... \\ 1 & X_{2n} & X_{n}& ... & X_{kn} \end{bmatrix} \begin{bmatrix} β_1 \\ β_2 \\ ... \\ β_k \end{bmatrix}+ \begin{bmatrix} u_1 \\ u_2 \\ ... \\ u_n \end{bmatrix} \end{gathered}
⎣
⎡Y1Y2...Yn⎦
⎤=⎣
⎡11...1X21X22...X2nX31X32...Xn............Xk1Xk2...Xkn⎦
⎤⎣
⎡β1β2...βk⎦
⎤+⎣
⎡u1u2...un⎦
⎤
=
[
1
×
β
1
+
X
21
β
2
+
X
31
β
3
+
.
.
.
+
X
k
1
β
k
+
μ
1
1
×
β
1
+
X
22
β
2
+
X
32
β
3
+
.
.
.
+
X
k
2
β
k
+
μ
2
.
.
.
1
×
β
1
+
X
2
n
β
2
+
X
3
n
β
3
+
.
.
.
+
X
k
n
β
k
+
μ
n
]
= \begin{gathered} \begin{bmatrix} 1×\beta_1+X_{21}\beta_2+X_{31}\beta_3+...+X_{k1}\beta_k+\mu_1 \\ 1×\beta_1+X_{22}\beta_2+X_{32}\beta_3+...+X_{k2}\beta_k+\mu_2 \\ ...\\ 1×\beta_1+X_{2n}\beta_2+X_{3n}\beta_3+...+X_{kn}\beta_k+\mu_n \\ \end{bmatrix} \end{gathered}
=⎣
⎡1×β1+X21β2+X31β3+...+Xk1βk+μ11×β1+X22β2+X32β3+...+Xk2βk+μ2...1×β1+X2nβ2+X3nβ3+...+Xknβk+μn⎦
⎤
作为简化,用一个行矩阵乘以一个列矩阵,即求该矩阵的第一个数字的过程,即
[
1
X
21
X
31
.
.
.
X
k
1
]
[
β
1
β
2
β
3
.
.
.
β
k
]
=
[
1
×
β
1
+
X
21
β
2
+
X
31
β
3
+
.
.
.
+
X
k
1
β
k
]
\begin{gathered} \begin{bmatrix} 1 & X_{21} & X_{31}& ... & X_{k1}\end{bmatrix} \begin{bmatrix} \beta_1 \\ \beta_2 \\ \beta_3 \\ ... \\ \beta_k \end{bmatrix} \end{gathered}=\begin{gathered} \begin{bmatrix} 1×\beta_1+X_{21}\beta_2+X_{31}\beta_3+...+X_{k1}\beta_k\end{bmatrix} \end{gathered}
[1X21X31...Xk1]⎣
⎡β1β2β3...βk⎦
⎤=[1×β1+X21β2+X31β3+...+Xk1βk]
如果交换两个矩阵位置再相乘,则会得到下边结果:
[
β
1
β
2
β
3
.
.
.
β
k
]
[
1
X
21
X
31
.
.
.
X
k
1
]
=
[
β
1
×
1
β
2
X
21
β
3
X
31
.
.
.
β
k
X
k
1
β
1
×
1
β
2
X
22
β
3
X
32
.
.
.
β
k
X
k
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
β
1
×
1
β
2
X
2
n
β
3
X
3
n
.
.
.
β
k
X
k
n
]
\begin{gathered} \begin{bmatrix} \beta_1 \\ \beta_2 \\ \beta_3\\... \\ \beta_k \end{bmatrix} \begin{bmatrix} 1 & X_{21} & X_{31}& ... & X_{k1}\end{bmatrix}= \begin{bmatrix} \beta_1× 1 &\beta_2X_{21} & \beta_3X_{31}&...&\beta_kX_{k1}\\ \beta_1× 1 &\beta_2X_{22} & \beta_3X_{32}&...&\beta_kX_{k2}\\ ...& ...& ...& ... & ...\\ \beta_1× 1&\beta_2X_{2n} & \beta_3X_{3n}&...&\beta_kX_{kn} \end{bmatrix} \end{gathered}
⎣
⎡β1β2β3...βk⎦
⎤[1X21X31...Xk1]=⎣
⎡β1×1β1×1...β1×1β2X21β2X22...β2X2nβ3X31β3X32...β3X3n............βkXk1βkXk2...βkXkn⎦
⎤
当矩阵B有多列时。
当矩阵B有多列时,即使用矩阵A对矩阵B的每一列做上述情景的运算,并在对应位置处生成多列即可。
4.4 矩阵的幂
有矩阵的乘法,就可以定义矩阵的幂:
当A是n阶方阵时,
A
A
A与自身的乘法可以用幂的形式来表示,如
A
k
A^k
Ak。
4.5 交换率结合率分配率汇总
A
+
B
=
B
+
A
A+B=B+A
A+B=B+A
(
A
+
B
)
+
C
=
A
+
(
B
+
C
)
(A+B)+C=A+(B+C)
(A+B)+C=A+(B+C)
(
λ
μ
)
A
=
λ
(
μ
A
)
(\lambda \mu)A=\lambda(\mu A)
(λμ)A=λ(μA)
(
λ
+
μ
)
A
=
λ
A
+
μ
A
(\lambda+\mu)A=\lambda A+\mu A
(λ+μ)A=λA+μA
λ
(
A
+
B
)
=
λ
A
+
λ
B
\lambda(A+B)=\lambda A + \lambda B
λ(A+B)=λA+λB
(
A
B
)
C
=
A
(
B
C
)
(AB)C=A(BC)
(AB)C=A(BC)
λ
(
A
B
)
=
(
λ
A
)
B
=
A
(
λ
B
)
\lambda (AB)=(\lambda A)B=A(\lambda B)
λ(AB)=(λA)B=A(λB)
A
(
B
+
C
)
=
A
B
+
A
C
A(B+C)=AB+AC
A(B+C)=AB+AC
(
B
+
C
)
A
=
B
A
+
C
A
(B+C)A=BA+CA
(B+C)A=BA+CA
对单位矩阵有:
E
m
A
m
×
n
=
A
m
×
n
E
n
=
A
E_mA_{m×n}=A_{m×n}E_n=A
EmAm×n=Am×nEn=A
对矩阵的幂:
A
k
A
l
=
A
k
+
l
A^kA^l=A^{k+l}
AkAl=Ak+l
只有当
A
B
AB
AB中A与B可交换位置时(可交换位置不限于两者相等),才有
(
A
B
)
k
=
A
k
B
k
(AB)^k=A^kB^k
(AB)k=AkBk。
4.6 矩阵的转置
转置即行列互换。
矩阵的转置满足以下运算规律:
(
A
T
)
T
=
A
(A^T)^T=A
(AT)T=A
(
A
+
B
)
T
=
A
T
+
B
T
(A+B)^T=A^T+B^T
(A+B)T=AT+BT
(
λ
A
)
T
=
λ
A
T
(\lambda A)^T=\lambda A^T
(λA)T=λAT
(
A
B
)
T
=
B
T
A
T
(AB)^T=B^TA^T
(AB)T=BTAT
设A为n阶方阵,如果满足 A T = A A^T=A AT=A,即 a i j = a j i a_{ij}=a_{ji} aij=aji,则A被称为 对称矩阵,简称对矩阵。对称矩阵中以对角线为对称轴的元素相等。
5. 矩阵的行列式
矩阵A的行列式记作
∣
A
∣
|A|
∣A∣或
d
e
t
A
detA
detA。
不是所有的矩阵都可以变为行列式,方阵才可以。
由矩阵确定的行列式在计算时满足:
∣
A
T
∣
=
∣
A
∣
|A^T|=|A|
∣AT∣=∣A∣
∣
λ
A
∣
=
λ
n
∣
A
∣
|\lambda A|=\lambda^n |A|
∣λA∣=λn∣A∣
∣
A
B
∣
=
∣
A
∣
∣
B
∣
|AB|=|A||B|
∣AB∣=∣A∣∣B∣
行列式
∣
A
∣
|A|
∣A∣的各个元素的代数余子式
A
i
j
A_{ij}
Aij构成的如下矩阵,
A
∗
=
[
A
11
A
21
.
.
.
A
n
1
A
12
A
22
.
.
.
A
n
2
.
.
.
.
.
.
.
.
.
.
.
.
A
1
n
A
2
n
.
.
.
A
n
n
]
A*=\begin{bmatrix} A_{11}&A_{21}&...&A_{n1} \\ A_{12}&A_{22}&...&A_{n2} \\ ...&...&...&... \\ A_{1n}&A_{2n}&...&A_{nn} \\ \end{bmatrix}
A∗=⎣
⎡A11A12...A1nA21A22...A2n............An1An2...Ann⎦
⎤
矩阵
A
∗
A*
A∗称为矩阵A的 伴随矩阵。简称伴随阵。
矩阵
A
A
A与它的伴随矩阵
A
∗
A*
A∗满足:
A
A
∗
=
A
∗
A
=
∣
A
∣
E
AA*=A*A=|A|E
AA∗=A∗A=∣A∣E
6.矩阵的线性变换
对等式:
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
a
m
1
a
m
2
.
.
.
a
m
n
]
×
[
x
1
x
2
.
.
.
x
n
]
=
[
y
1
y
2
.
.
.
y
n
]
\begin{bmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} &... & a_{2n}\\ ...&... &...&... \\ a_{m1}&a_{m2}&...&a_{mn} \end{bmatrix}×\begin{bmatrix} x_{1} \\ x_{2} \\ ... \\ x_{n} \\ \end{bmatrix}=\begin{bmatrix} y_{1} \\ y_{2} \\ ... \\ y_{n} \\ \end{bmatrix}
⎣
⎡a11a21...am1a12a22...am2............a1na2n...amn⎦
⎤×⎣
⎡x1x2...xn⎦
⎤=⎣
⎡y1y2...yn⎦
⎤
如果将其看作是一个对
X
i
j
X_{ij}
Xij所在矩阵的变换过程,这样的变换被称作从变量
[
x
1
,
x
2
,
.
.
.
,
x
n
]
[x_1, x_2,...,x_n]
[x1,x2,...,xn]到变量
[
y
1
,
y
2
,
.
.
.
,
y
n
]
[y_1, y_2,...,y_n]
[y1,y2,...,yn]的 线性变换。其中
a
i
j
a_{ij}
aij是常数。
其中,
a
i
j
a_{ij}
aij所构成的矩阵被称为 系数矩阵。
矩阵的线性变换在实际应用中是非常重要的。
系数矩阵确定,变换关系就确定。
下边给出几个典型示例:
①对角矩阵对
[
x
1
,
x
2
,
.
.
.
x
n
]
[x_1,x_2,...x_n]
[x1,x2,...xn]的线性变换
[
λ
1
0
.
.
.
0
0
λ
2
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
λ
n
]
×
[
x
1
x
2
.
.
.
x
n
]
=
[
λ
1
x
1
λ
2
x
2
.
.
.
λ
n
x
n
]
\begin{bmatrix} \lambda_{1} & 0 & ... & 0 \\ 0 & \lambda_{2} &... & 0\\ ... & ... &...&... \\ 0 & 0 &...& \lambda_n \end{bmatrix}×\begin{bmatrix} x_{1} \\ x_{2} \\ ... \\ x_{n} \\ \end{bmatrix}=\begin{bmatrix} \lambda_{1}x_1 \\ \lambda_{2}x_2 \\ ... \\ \lambda_{n}x_n \\ \end{bmatrix}
⎣
⎡λ10...00λ2...0............00...λn⎦
⎤×⎣
⎡x1x2...xn⎦
⎤=⎣
⎡λ1x1λ2x2...λnxn⎦
⎤
②单位矩阵对应的线性变换叫做恒等变换。(单位矩阵的矩阵乘法中的作用类似于1)
[
1
0
.
.
.
0
0
1
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
0
0
.
.
.
1
]
×
[
x
1
x
2
.
.
.
x
n
]
=
[
x
1
x
2
.
.
.
x
n
]
\begin{bmatrix} 1 & 0 & ... & 0 \\ 0 & 1 &... & 0\\ ... & ... &...&... \\ 0 & 0 &...& 1 \end{bmatrix}×\begin{bmatrix} x_{1} \\ x_{2} \\ ... \\ x_{n} \\ \end{bmatrix}=\begin{bmatrix} x_1 \\ x_2 \\ ... \\ x_n \\ \end{bmatrix}
⎣
⎡10...001...0............00...1⎦
⎤×⎣
⎡x1x2...xn⎦
⎤=⎣
⎡x1x2...xn⎦
⎤
③把向量
A
=
[
x
y
]
A=\begin{bmatrix}x & y\end{bmatrix}
A=[xy]沿x轴正方向旋转
φ
\varphi
φ度。得到向量
B
=
[
X
Y
]
B=\begin{bmatrix}X & Y\end{bmatrix}
B=[XY]
[
c
o
s
φ
−
s
i
n
φ
s
i
n
φ
c
o
s
φ
]
×
[
x
y
]
=
[
X
Y
]
\begin{bmatrix} cos \varphi & -sin \varphi \\ sin \varphi & cos \varphi\\ \end{bmatrix}× \begin{bmatrix} x \\ y \\ \end{bmatrix}=\begin{bmatrix} X \\ Y \\ \end{bmatrix}
[cosφsinφ−sinφcosφ]×[xy]=[XY]
这也是PCA降维算法的核心思想的一部分。
假设A是有两个特征的样本集,以三个样本为例,则表达式如下:
[
c
o
s
φ
−
s
i
n
φ
s
i
n
φ
c
o
s
φ
]
×
[
x
1
x
2
x
3
y
1
y
2
y
3
]
=
[
X
1
X
2
X
3
Y
1
Y
2
Y
3
]
\begin{bmatrix} cos \varphi & -sin \varphi \\ sin \varphi & cos \varphi\\ \end{bmatrix}× \begin{bmatrix} x_1 & x_2 & x_3\\ y_1 & y_2 & y_3\\ \end{bmatrix}=\begin{bmatrix} X_1 & X_2 & X_3\\ Y_1 & Y_2 & Y_3\\ \end{bmatrix}
[cosφsinφ−sinφcosφ]×[x1y1x2y2x3y3]=[X1Y1X2Y2X3Y3]
6.逆矩阵
对n阶矩阵A,如果存在n阶矩阵B,使
A
B
=
B
A
=
E
AB=BA=E
AB=BA=E,则称矩阵A是可逆的。矩阵B是矩阵A的逆矩阵。简称逆阵。
如果矩阵A是可逆的,那么A的逆矩阵是唯一的唯一的。
矩阵A的逆矩阵可以记作
A
−
1
A^{-1}
A−1。
定理一
若矩阵A可逆,则
∣
A
∣
≠
0
|A|≠0
∣A∣=0。
定理二
如果
∣
A
∣
≠
0
|A|≠0
∣A∣=0,则矩阵A可逆,且
A
−
1
=
1
∣
A
∣
A
∗
A^{-1}=\frac{1}{|A|}A*
A−1=∣A∣1A∗
当|A|=0时,称为奇异矩阵,否则称为非奇异矩阵。也就是说,奇异矩阵是非可逆矩阵,而非奇异矩阵据说可逆矩阵。所以可逆矩阵的充分必要条件是, ∣ A ∣ ≠ 0 |A|≠0 ∣A∣=0。
所以若A可逆,则A满足:
①
(
A
−
1
)
−
1
=
A
(A^{-1})^-1=A
(A−1)−1=A
②
(
λ
A
)
−
1
=
1
λ
A
−
1
(\lambda A)^{-1}=\frac{1}{\lambda}A^{-1}
(λA)−1=λ1A−1
③
(
A
B
)
−
1
=
B
−
1
A
−
1
(AB)^{-1}=B^{-1}A^{-1}
(AB)−1=B−1A−1
7.克拉默法则
对有n个未知数和n个线性方程的线性方程组:
a
11
x
1
+
a
12
x
2
+
.
.
.
+
a
1
n
x
n
=
b
1
a_{11}x_{1}+a_{12}x_2+...+a_{1n}x_n=b_1
a11x1+a12x2+...+a1nxn=b1
a
21
x
1
+
a
22
x
2
+
.
.
.
+
a
2
n
x
n
=
b
2
a_{21}x_1+a_{22}x_2+...+a_{2n}x_n=b_{2}
a21x1+a22x2+...+a2nxn=b2
.
.
.
...
...
a
n
1
x
1
+
a
n
2
x
2
+
.
.
.
+
a
n
n
x
n
=
b
n
a_{n1}x_1+a_{n2}x_2+...+a_{nn}x_n=b_{n}
an1x1+an2x2+...+annxn=bn
克拉默法则:
如果其系数矩阵A的行列式的值不为0,即
∣
A
∣
=
∣
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
.
.
.
.
.
.
.
.
.
.
.
.
a
n
1
a
n
2
.
.
.
a
n
n
∣
≠
0
|A|= \begin{vmatrix} a_{11} & a_{12} & ... & a_{1n} \\ a_{21} & a_{22} &... & a_{2n}\\ ...&... &...&... \\ a_{n1}&a_{n2}&...&a_{nn} \end{vmatrix}≠0
∣A∣=∣
∣a11a21...an1a12a22...an2............a1na2n...ann∣
∣=0
则方程组有唯一解:
x
j
=
∣
A
j
∣
∣
A
∣
x_j=\frac{|A_j|}{|A|}
xj=∣A∣∣Aj∣
其中A_j是系数矩阵A中第j列用方程组右端的常数项代替后得到的n阶矩阵。
8.矩阵分块
对于行数和列数较多的矩阵,可以使用分块法将大矩阵分割为小矩阵。每一个小矩阵称为A的 子块,以子块为元素的矩阵称为分块矩阵。分块的方式自由多样。具体不再过多赘述。
9.python实现
9.1 创建一般矩阵
可以使用numpy库的mat()方法创建简单矩阵。
创建矩阵时,参数可以采用字符串形式传入,数据之间用空格隔开,行之间用引号隔开。
也可以将numpy数组转化为矩阵。
import numpy as np
# 1.创建一个2×2的矩阵
a1 = np.mat("1 2;3 4")
print(a1)
print("==========================")
# 2.创建一个3×3的矩阵
a2 = np.mat("1 2 3;4 5 6;7 8 9")
print(a2)
print("==========================")
# 3.使用numpy数组创建矩阵
a3 = np.mat(np.random.randint(1, 100, size=(5, 5)))
print(a3)
print("==========================")
print(type(a1))
print(type(a2))
print(type(a3))
输出结果如下:
9.2 创建全零、全一矩阵
创建全零矩阵和全一矩阵的代码如下:
# 全零矩阵
m = np.mat(np.zeros((5, 5)))
print(m)
# 全一矩阵
n = np.mat(np.ones((4, 5), dtype='i8'))
print(n)
程序输出结果如下:
9.3 创建对角矩阵与单位矩阵
创建对角矩阵和单位矩阵的代码如下:
# 对角矩阵
a = [1, 2, 3, 4, 5]
m = np.mat(np.diag(a))
print(m)
print("==================================")
# 单位矩阵
n = np.mat(np.eye(5, dtype='i8'))
print(n)
程序输出结果如下:
9.4 矩阵与标量的运算
m1 = np.mat([[3, 4], [6, 12], [9, 20]])
print(m1)
print("=======================")
print(m1 + 2)
print("=======================")
print(m1 - 2)
print("=======================")
print(m1 * 2)
print("=======================")
print(m1 / 2)
程序计算结果如下:
9.5 矩阵与矩阵的运算
同型矩阵才能相加,第一个矩阵的列数等于第二个矩阵的行数才能相乘,这一点一定要遵守。如果不是同型矩阵而相加,也有可能不会报错,比如m1+[[3,4]]此处要格外留意。
m1 = np.mat([[3, 4], [6, 12], [9, 20]])
m2 = np.mat([[3, 4], [6, 12]])
print("==========m1===========:")
print(m1)
print("==========m2===========:")
print(m2)
print("======= m1 + m1 =======:")
print(m1 + m1)
print("======= m1 * m2 =======:")
print(m1 * m2)
程序计算结果如下:
9.6 矩阵的转置
# 矩阵转置
m = np.mat([[3, 4], [6, 12], [9, 20]])
print(m)
print("====================")
print(m.T)
程序计算结果如下:
9.7 逆矩阵
m = np.mat("1 3 3;4 5 6;7 12 9")
print(m)
print("===========逆矩阵==========")
print(m.I)
程序计算结果如下:
本次分享就到这里,小啾感谢您的关注与支持!
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ