Skip to content

矩阵

向量是标量的数组,矩阵是向量的数组。可以将向量看作是1xn或者nx1的矩阵

[123][123]

一个m行、n列的矩阵示例

[a11a12a1na21a22a2nam1am2amn]

方阵

行数与列数相等,表现为一个正方形矩阵,主要讨论2x2,3x3,4x4矩阵

[123123123]

对角矩阵

行号与列号相等的元素称为对角线元素,如果一个矩阵只有对角线元素有值,其他位置的元素值为0,那么这个矩阵称为对角矩阵。

[100020003]

单位矩阵

单位矩阵是一种特殊的对角矩阵,对角线元素的值均为1

[100010001]

单位矩阵的基本性质是:任意矩阵单位矩阵都会得到原矩阵

矩阵转置

一个m x n的矩阵M转置之后,变为n x m的矩阵

[a11a12a1na21a22a2nam1am2amn]T=[a11a12am1a12a22am2a1na2namn]

转置记法经常在书面中表示列向量

引理:

  • 对于任意矩阵,转置两次之后都会得到原矩阵
  • 任意对角矩阵,转置之后仍是自身

矩阵乘法

与标量相乘

标量与矩阵中的元素挨个相乘

k[a11a12a1na21a22a2nam1am2amn]=[a11a12a1na21a22a2nam1am2amn]k=[ka11ka12ka1nka21ka22ka2nkam1kam2kamn]

与矩阵相乘

在进行矩阵乘法运算之前,首先需要判断矩阵乘法是否有意义:

一个m x n的矩阵,与r x c的矩阵相乘时,只有当n = r时乘法才有意义,最终得到一个m x c的矩阵。

cij=k=1naikbkj

矩阵c中第i行、第j列的元素值是矩阵a第i行的向量与矩阵b第j列向量的点乘,推广可知矩阵c中的每个元素的值是矩阵a对应行向量和矩阵b对应列向量的点乘。

为了更好的记忆计算规则,在计算时可以将乘数位置的矩阵放在上面,方便计算。

img.png

注意事项

  1. 矩阵乘法不满足交换律
ABBA

WARNING

如果方阵是单位矩阵,则结果为原矩阵

AI=IA=A
  1. 矩阵乘法满足结合律
ABC=A(BC)=(AB)C

INFO

前提是ABC相乘是有意义的,而且如果AB有意义,那么BC也一定有意义。

  1. 矩阵与标量的乘法也满足结合律
kA=Ak
  1. 矩阵转置
(AB)T=BTAT

推广到n个矩阵的转置

(M1M2Mn1Mn)T=MnTMn1TM2TM1T

向量与矩阵的乘法

行向量左乘矩阵有意义,列向量右乘矩阵有意义。(左乘和右乘是根据向量的位置判断的,向量在左边则为左乘,在右边则为右乘)

img.png

在几何上解释pMMp

  • 左乘相当于对矩阵M的行向量进行转换
  • 右乘相当于对矩阵M的列向量进行转换

简称为左乘行右乘列

几何解释

每个矩阵都代表着一种坐标系的变换,但是我们在需要对图形进行线性变换时,如何构建这个矩阵是要研究的问题。线性变换在保持直线的同时,其他几何性质,例如:体积面积长度角度可能会在变换后改变。线性变换不包含平移,仿射变换包含平移

下面是一些有用的变换:

  • 旋转
  • 放缩
  • 投影
  • 镜像
  • 仿射

以三维坐标系为例,存在向量v:

v=[xyz]=x[100]+y[010]+z[001]

可以进一步推广

p=[100]q=[010]r=[001]v=xp+yq+zr

由此可知,任意向量都可以拆分为对应坐标轴基向量的线性组合

继续推广到更一般的情况

p=[pxpypz]q=[qxqyqz]r=[rxryrz][xyz][pxpypzqxqyqzrxryrz]=[xpx+yqx+zrxxpy+yqy+zryxpz+yqz+zrz]=[xpxxpyxpz]+[yqxyqyyqz]+[zrxzryzrz]=xp+yp+zr

这与前面计算结果相同,因此如果我们将对角矩阵中的每个行向量看作是线性变换后坐标系的基向量,那么对角矩阵代表的是将原坐标系下的向量变换为新坐标系下的向量

2D

[2112]

可以得到转换后坐标系下的两个基向量:

[21][12]

img.png

那么该矩阵可以看作是两个变换的组合:旋转、放大

img.png

3D

img.png

考虑以下3D转换矩阵:

[0.7070.70701.2501.2500001]

img.png

总结:

  1. 矩阵可以看作对原坐标系的基向量的一种线性变换
  2. 方阵的行向量可以看作是转换后坐标系基向量,这也恰好可以用来计算转换矩阵,只需要计算坐标系转换后的基向量即可
  3. 推广到多维矩阵与多维矩阵相乘,其几何意义是将左边矩阵列向量转换到以右边矩阵``行向量基向量的坐标系中