基本线性代数复习

这一篇总结一点简单的线性代数知识

矩阵和向量

矩阵是二维数组
$\begin{bmatrix} a&b&c\\ d&e&f\\ g&h&i\\ j&k&l \end{bmatrix}$

上面的矩阵有四行三列,所以是一个4*3的矩阵。
而向量可以说是一个多行一列的矩阵:
$\begin{bmatrix}w\\x\\y\\z
\end{bmatrix}$

总的来说,向量可以说是矩阵的一个子集,上面的向量是一个4*1的矩阵。

符号标记:

  • $A_{ij}$ 指矩阵A的i行j列的元素
  • 一个n行向量被称为n维的向量
  • $v_i$ 指向量的第i行
  • 在matlab中,数组的下标是从1开始的,而大部分其他语言则是从0开始的
  • 矩阵通常用大写字母表示,向量则通常使用小写字母表示
  • 纯量或者叫标量,指的是只有一个值的对象,既不是向量也不是矩阵。
  • $R$指一个纯量集合
  • $R^n$指一个n维的向量

加法和标量乘法

加法和减法都是逐元素的,所以你可以简单地加或者减每一个对应的元素
(当加或者减两个矩阵时,两个矩阵的尺寸大小必须是相同的):
$\begin{bmatrix}a&b\\c&d\end{bmatrix}$+$\begin{bmatrix}w&x\\y&z\end{bmatrix}$=$\begin{bmatrix}a+w&b+x\\c+y&d+z\end{bmatrix}$

在标量乘法中,我们简单地将每一个元素都乘以这个标量值:
$\begin{bmatrix}a&b\\c&d\end{bmatrix}$ $ * x$ = $\begin{bmatrix}a*x&b*x\\c*x&d*x\end{bmatrix}$

矩阵向量乘法

我们把向量的列和矩阵的每一行逐元素的相乘并把结果相加得到:
$\begin{bmatrix}a&b\\c&d\\e&f\end{bmatrix}$ $*$ $\begin{bmatrix}x\\y
\end{bmatrix}$ = $\begin{bmatrix}a*x+b*y\\c*x+d*y\\e*x+f*y\end{bmatrix}$

结果是一个向量,向量必须是这个乘法的第二项。且矩阵的列数必须等于向量的行数。
比如: 一个m*n的矩阵乘以一个n*1的向量,结果则为m*1向量。

矩阵乘法

我们将矩阵相乘分成若干个矩阵向量乘法,然后将结果串联起来:
$\begin{bmatrix}a&b\\c&d\\e&f\end{bmatrix}$ $*$ $\begin{bmatrix}w&x\\y&z\end{bmatrix}$ = $\begin{bmatrix}a*w+b*y & a*x+b*z\\c*w+d*y&c*x+d*z\\e*w+f*y&e*x+f*z\end{bmatrix}$

一个m*n的矩阵乘以一个n*o的矩阵,结果将会是一个m*o的矩阵。
在上面的例子当中,一个3*2的矩阵乘以一个2*2的矩阵,结果是一个3*2的矩阵
若两个矩阵相乘,则第一个矩阵的列数要和第二个矩阵的行数相同。

####矩阵乘法的属性

  • 没有交换律:A∗B≠B∗A
  • 结合律: (A∗B)∗C=A∗(B∗C)
  • 单位矩阵表示对角线上都为1,其余为0的矩阵:
    $\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}$
  • 当单位矩阵被同样大小的矩阵相乘时,结果还是原来的矩阵。
    感觉就像一个数乘以1还是原来那个数一样。

  • 当矩阵乘以单位矩阵形如:(A * I)时,单位阵应该与另一个矩阵的列匹配。
    当单位矩阵乘以矩阵形如:(I * A)时,单位阵应该与另一个矩阵的行匹配。

矩阵的逆和转置

矩阵$A$的逆可以被表示为$A^{-1}$,矩阵和它的逆矩阵相乘为单位阵。
如果一个矩阵不是方阵则没有逆矩阵(有伪逆矩阵)。
在matlab中,我们可以用inv(A)来求矩阵的逆。
如果一个矩阵没有逆矩阵,则这个矩阵是奇异矩阵(行列式为0的方阵)或者退化矩阵。

矩阵的转置可以看做将矩阵按顺时针方向旋转90°然后左右翻转。
在matlab中我们可以通过函数transpos(A)或者 A’来计算矩阵的转置:
$A=\begin{bmatrix}a & b\\c & d\\e & f\end{bmatrix}$

$A^T=\begin{bmatrix}a & c & e\\b & d & f\end{bmatrix}$

换句话说,$A_{ij} = A^T_{ji}$ 。

分享到