写在前面:最近复习了一遍线性代数,想把学习成果整理出来。本系列博客主要是对学习Introduction to Linear Algebra(Fifth Edition) by Gibert Strang书籍的一个记录。
理论
矩阵定义:矩阵就是一组数的全体,通常排成长方形。下图就是一个2*2的矩阵。
[
a
b
c
d
]
\begin{bmatrix} a&b\\c&d \end{bmatrix}
[acbd]
矩阵乘法:对于矩阵
A
B
=
C
AB=C
AB=C有
C
i
j
C_{ij}
Cij等于A矩阵的第i行的所有元素依次乘以B矩阵第j列的元素求和。
线性代数的核心工具是矩阵。而矩阵的加减法,我觉得没什么好写的,就是对应位置的元素相加减,从计算符号的角度,乘法还是有必要介绍一下的。所以,我选择从矩阵的乘法作为系列博客的第一章。
应用
邻接矩阵:用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。
例如,形如下图的连接关系图可以用矩阵表示
用邻接矩阵表示为:
A
=
[
0
1
1
0
1
0
1
1
1
1
0
1
0
1
1
0
]
A=\begin{bmatrix} 0&1&1&0\\1&0&1&1\\1&1&0&1 \\0&1&1&0 \end{bmatrix}
A=⎣⎢⎢⎡0110101111010110⎦⎥⎥⎤
其中,0表示两个点之间没有连接,比如1-1,1-4之间都是没有连接的。而1表示两个点之间是相连的比如1-2,1-3。
所以,两个邻接矩阵相乘的结果是:
A
2
=
A
∗
A
=
[
2
1
1
2
1
3
2
1
1
2
3
1
2
1
1
2
]
A^2=A*A=\begin{bmatrix} 2&1&1&2\\1&3&2&1\\1&2&3&1 \\2&1&1&2 \end{bmatrix}
A2=A∗A=⎣⎢⎢⎡2112132112312112⎦⎥⎥⎤
上述矩阵表示,两个点之间,用两步可以连接起来的走法有多少种。比如在矩阵
A
A
A当中1-1之前是么有相连的。现在,矩阵
A
2
A^2
A2表示1-1通过两步的走法有两种,我们观察可知这两种走法分别是1-2-1,1-3-1。也就是用A矩阵的第一行,乘以A矩阵的第一列。
这里它表示是,从1-n之间的路乘以n-1的路。当有一个是断开的时候,即整个为0。只有当1-n是联通的(值为1),而n-1也是联通的时候。这时乘积才为1不为零。把所有乘积的结果进行求和,就得到了1-n-1有两条路可以走,即1-2-1,1-3-1。也就是矩阵
A
2
A^2
A2的第
(
1
,
1
)
(1,1)
(1,1)个元素的值2的由来。
下面给出
A
3
A^3
A3矩阵,读者可以自行探索任意两点之间通过三步到达的方式的个数,以及和矩阵中的数字是否一样。
A
3
=
A
∗
A
∗
A
=
[
2
5
5
2
5
4
5
5
5
5
4
5
2
5
5
2
]
A^3=A*A*A=\begin{bmatrix} 2&5&5&2\\5&4&5&5\\5&5&4&5 \\2&5&5&2 \end{bmatrix}
A3=A∗A∗A=⎣⎢⎢⎡2552545555452552⎦⎥⎥⎤