矩阵
矩阵是一系列数字的集合,只不过它们有特定的组织形式与计算方式。矩阵是
m
行
n
列的,也就是
m×n
,就像这样
135246
这就是一个
3×2
的矩阵。
乘以一个数
矩阵乘以一个数非常简单,将矩阵内每一个值都乘以这个数即可,例如:
2×135246=26104812
乘以矩阵
要想计算矩阵乘以矩阵,首先两个矩阵得能乘才行,这要求第一个矩阵的列数等于第二个矩阵的行数,即
(m×n)(n×p)=(m×p)
。
矩阵乘以矩阵结果仍是一个矩阵,结果矩阵的每一个元素,都是第一个矩阵第
i
行与第二个矩阵第
j
列的点积,例如
135246(654321)=16386010243841016
以结果矩阵的第二行第二列为例,它的计算方法就是第一个矩阵的第二行与第二个矩阵的第二行点积,即
3⋅4+4⋅3 =24
,其他各行各列依此类推。
由此可以看出,矩阵是没有交换律的,除非是一些特殊的矩阵,但结合律与分配律仍然存在。
(AB)C=A(BC)
A(B+C)=AB+AC
(A+B)C=AC+BC
乘以向量
首先向量应该是一个列向量,它可以看作是
(m×1)
的矩阵。将矩阵放在向量的左边,它是一个
(mn×m)
的矩阵,这样两者就能相乘了,例如
(−1001)(xy)=(−xy)
转置
矩阵的转置很简单,将
m
行
n
列变为
n
行
m
列即可,例如
135246T=(123456)
矩阵的转置有一个性质,对两个矩阵的乘积做转置,等于后一个矩阵的转置乘以前一个矩阵的转置,即
(AB)T=BTAT
单位矩阵
单位矩阵是一个特殊的矩阵,它是一个对角阵,也就是只有对角线(从左上到右下)上才有非零的元素,其余位置全是零
I3×3=100010001
这就是一个
3×3
的单位矩阵。单位矩阵在运算上基本没用。因为任何矩阵乘以单位矩阵仍然等于其自身,但通过单位矩阵我们能定义一些其他的运算,例如矩阵的逆,如果能找到一个矩阵与某一矩阵相乘,不论顺序,得到的结果都是单位矩阵,那么这个矩阵成为原矩阵的逆矩阵,也就是说两个矩阵是互逆的
AA−1=A−1A=I
矩阵的逆的性质与矩阵转置是类似的
(AB)−1=B−1A−1
向量点积叉积的矩阵表示
向量(列向量)可以看作是
m×1
的矩阵,那么点积与叉积自然能用向量形式表示
a⋅b=aTb=(xa ya za)xbybzb=(xaxb+yayb+zazb)
a×b=A∗b=0za−ya−za0xaya−xa0xbybzb
注意这里不是
A
乘
b
而是
A∗
乘b,
A∗
是我们对
a
重新组织后得出的矩阵,称为dual matrix
。