Linear-Algebra(一)
# 1 预备知识
## 1.1 基本概念 
### - 标量 
标量表示单独的一个数，通常用斜体小写字母表示，如 $s\in \mathbb R, n \in \mathbb N$。 
### - 向量 
向量是一个一维数组，这些数字有一定的顺序，可以通过下标获取对应的值，通常用粗体小写字母表示：$\mathbf{x} \in \mathbb R^n$，表示元素取实数，且有 $n$ 个元素，它的元素用对应的斜体小写字母加下标表示：$x_1$。一般我们将向量写成列向量的形式：

$$
x = \begin{bmatrix}
x_1 \\
x_2 \\
\cdots \\
x_n
\end{bmatrix}
$$

有时候我们需要得到一个向量的子集，例如得到第 $1,3,6$ 个元素，那么我们可以令集合 $S = \{1,3,6\}$，然后用 $\mathbf x_{S}$ 来表示这个子集。

另外，我们用 $-$ 的下标表示去集合的补：$\mathbf x_{-1}$ 表示除了 $x_1$ 之外 $\mathbf x$ 中的所有元素，$\mathbf x_{-S}$ 表示除了 $x_1, x_3, x_6$ 之外 $\mathbf x$ 中的所有元素。 
### - 矩阵
矩阵是一个二维数组，每个元素的下标有两个，通常用大写粗体字母表示：$\mathbf A \in \mathbb R^{m\times n}$ 表示取实值的 $m$ 行 $n$ 列矩阵，其元素用对应的小写斜体字母加下标表示：$A_{1,1}, A_{m,n}$。

另外，我们用 $:$ 下标表示矩阵的一行或者一列：$\mathbf A_{i,:}$ 第 $i$ 行，$\mathbf A_{:,j}$ 第 $j$ 列。

矩阵可以写成这样的形式：

$$
\begin{bmatrix}
A_{1,1} & A_{1,2} \\
A_{2,1} & A_{2,2} \\
\end{bmatrix}
$$

有时候我们需要对矩阵进行逐元素操作，例如将函数 $f$ 应用到 $\bf A$ 的所有元素上，此时我们用 $f({\bf A})_{i,j}$ 表示。 
### - 张量
张量是超过二维的数组，我们用 $\sf A$ 表示张量，${\sf A}_{i,j,k}$ 表示其元素（三维张量情况下）。 
### - 矩阵转置 
矩阵的转置操作相当于沿着对角线翻转，定义为：

$$
\mathbf A^\top_{i,j} = \mathbf A_{i,j}
$$

矩阵转置的转置等于矩阵本身：

$$\bf \left(A^\top\right)^\top=A$$

转置将矩阵的形状从 $m\times n$ 变成了 $n \times m$。

向量可以看成是只有一列的矩阵，因此也可以进行转置操作，有时候为了方便，我们可以使用行向量加转置的操作，如：$\mathbf x=[x_1,x_2,x_3]^\top$

标量也可以看出是一行一列的矩阵，其转置等于自己：$a^\top=a$。 
### - 矩阵加法和数乘 
加法即逐元素相加，要求两个矩阵的形状一样：

$$
\mathbf{C = A+B}, C_{i,j}=A_{i,j}+B_{i,j}
$$

数乘即一个标量与矩阵相乘：

$$
\mathbf D = a \cdot \mathbf B + c, D_{i,j}=a \cdot B_{i,j}+c
$$

有时候我们允许使用一个矩阵和向量相加的形式，得到一个矩阵，把 $\bf b$ 加到了 $C$ 的每一行上，本质上是构造了一个将 $\bf b$ 按行复制的一个新矩阵，这种机制叫做 `broadcasting`：

$$
\mathbf {C = A + b}, C_{i,j} = A_{i,j} + b_{j}
$$

## 1.2 矩阵乘法
对于矩阵$A_{m \times n}$和矩阵$B_{n \times p}$，$A \times B = C$，其中$C$为$m \times p$的矩阵，其每一个元素,$$C_{ij}=\sum_{k=1}^{n}a_{ik} \times b_{kj}$$在`numpy`中使用`dot`运算符来进行数学上矩阵乘法运算，而普通的`*`运算则是$A,B$矩阵对应位置元素的乘积。 
### 矩阵乘法性质 
矩阵乘法满足结合律（`associative`）和分配律（`distributive`）：

$$
\begin{align}
\bf A(B+C)&=\bf AB+AC \\
\bf A(BC)&=\bf (AB)C
\end{align}
$$

矩阵乘法通常是不可交换的：

$$
\bf AB \neq BA
$$

但是向量内积是可交换的：

$$
\bf x^\top y = y^\top x
$$

矩阵乘法的转置形式如下：

$$
\bf (AB)^\top = B^\top A^\top
$$

利用这个式子和标量转置等于其本身，我们马上得到内积是可交换的结论：

$$
\bf x^\top y = (x^\top y)^\top = y^\top x
$$

## 1.3 单位矩阵和逆
### 单位矩阵 
为了引入矩阵的逆，我们需要先定义单位矩阵：单位矩阵乘以任意一个向量等于这个向量本身。记 $\mathbf I_n$ 为保持 $n$ 维向量不变的单位矩阵，即：

$$
\mathbf I_n \in \mathbb R^{n\times n}, \forall \mathbf x \in \mathbb R^{n}, \mathbf I_n \mathbf{x=x}
$$

单位矩阵的形式十分简单，所有的对角元素都为 $1$，其他元素都为 $0$，如：

$$
\mathbf I_3
\begin{bmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{bmatrix}
$$
### 矩阵的逆  
矩阵 $\bf A$ 的逆记作 $\mathbf A^{-1}$，定义为一个矩阵使得

$$
\mathbf A^{-1} \mathbf A = \mathbf I_n
$$

如果 $\mathbf A^{-1}$ 存在，那么线性方程组 $\bf Ax=b$ 的解为：

$$
\mathbf A^{-1}\mathbf{Ax} = \mathbf I_n \mathbf x = \mathbf x = \mathbf A^{-1}\mathbf b
$$

##  1.4 向量和矩阵相乘
+ 向量右乘  
$\Bigg[v_1\ v_2\ v_3\Bigg]\begin{bmatrix}3\\4\\5\end{bmatrix}=3v_1+4v_2+5v_3$  

向量$v_1,v_2,v_3$分别代表列向量，当$v_1,v_2,v_3$组成的矩阵右乘一个列向量，则相当于使用右边的列向量中的数值对$v_1,v_2,v_3$进行线性组合。    
+ 向量左乘  
$\begin{bmatrix}1&2&7\end{bmatrix}\begin{bmatrix} row_1\\row_2\\row_3\end{bmatrix}=1row_1+2row_2+7row3$ 

向量$row_1,row_2,row_3$分别代表了行向量，当$row_1,row_2,row_3$组成的的矩阵左乘一个行向量，则相当于使用左边行向量中的数值对$row_1,row_2,row_3$进行线性组合。

## 1.5 置换矩阵
由1.2的向量和矩阵相乘后的分析，当若干个向量拼接在一起组成矩阵的时候，将会更多的向量的线性组合。$$\begin{bmatrix} a & b \\ c & d \end{bmatrix}\begin{bmatrix}0 & 1 \\ 1 & 0 \end{bmatrix}=\begin{bmatrix}b & a \\ d & c \end{bmatrix}$$  

将矩阵乘法拆分如下：


$\begin{bmatrix} b \\ d \end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix}0 \\ 1 \end{bmatrix}=0 \times \begin{bmatrix} a \\ c \end{bmatrix} + 1 \times \begin{bmatrix} b \\ d \end{bmatrix}$  

$\begin{bmatrix} a \\ c \end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix}1 \\ 0 \end{bmatrix}=1 \times \begin{bmatrix} a \\ c \end{bmatrix} + 0 \times \begin{bmatrix} b \\ d \end{bmatrix}$   
其等价效果为**交换矩阵的两列**。  
同理，当左乘一个矩阵的时候
$$\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}\begin{bmatrix}a & b \\ c & d \end{bmatrix}=\begin{bmatrix}c & d \\ a & b \end{bmatrix}$$   
其等价效果为**交换矩阵的两行**。

置换矩阵定义： 
当一个矩阵的系数为0或者1的方阵，其每一行和每一列上*恰好*只有一个1，其余的为0，那么该矩阵则为置换矩阵。

# 1.6 消元矩阵
通过矩阵行之间的运算，使得矩阵达到精简的程度，比如：
$$\begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix}\xrightarrow{row_2-3row_1}\begin{bmatrix}\underline{1}&2&1\\0&2&-2\\0&4&1\end{bmatrix} \xrightarrow{row_3-2row_1}\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&0&\underline{5}\end{bmatrix}$$ 

每一个行之间的运算可以看成矩阵右乘一个矩阵:  
$row_2-3row_1 \Rightarrow E_{12}=\begin{bmatrix}1 & 0 & 0 \\ -3 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$  

$row_3-2row_1 \Rightarrow E_{23}= \begin{bmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ -2 & 0 & 1 \end{bmatrix}$  
综上所述：
$$E_{23}(E_{12}A)=(E_{23}E_{12})A=U$$,其中$U$为上三角矩阵，进一步来讲$$(E_{23}E_{12})A=U \Rightarrow A=(E_{23}E_{12})^{-1}U=LU$$
这就是矩阵的LU分解，其中$L$为下三角矩阵。有时矩阵的主元**pivot**为零，那么就需要进行交换有关的行，即在矩阵A右乘一个置换矩阵P，则$PA=LU$

# 1.7 矩阵求逆
如果矩阵A为$n$阶方阵，那么$AA^{-1}=I$,称$A^{-1}$为逆矩阵，矩阵求逆的方法: $$[ A | I ] \Rightarrow [I | A^{-1}]$$ 在矩阵A的右边写上相同阶的单位阵，形成一个$n \times 2n$的矩阵，通过行变换，将左边矩阵A转换成单位矩阵的时候，矩阵右边的单位阵将会转换为A的逆。  
**证明**
对于矩阵A而言，每一部行操作都会被右边的矩阵记录下来，当矩阵A转换成单位阵的时候，相当于左乘了一个$A^{-1}$,所以$$A^{-1}[A|I]=[A^{-1}A | A^{-1}I]=[I|A^{-1}]$$

780204872934f9662155661c00b2a44ab1a5c7a2
ipynb
Jupyter Notebook
linear-algebgra/Linear_Algebra(01).ipynb
gaufung/Data_Analytics_Learning_Note
10426cbdc34c7d79228c9f45477f743b57f2cd2b
MIT
2016-12-30T11:52:02.000Z
2016-12-30T11:52:02.000Z
linear-algebgra/Linear_Algebra(01).ipynb
gaufung/Data_Analytics_Learning_Note
10426cbdc34c7d79228c9f45477f743b57f2cd2b
MIT
linear-algebgra/Linear_Algebra(01).ipynb
gaufung/Data_Analytics_Learning_Note
10426cbdc34c7d79228c9f45477f743b57f2cd2b
MIT
2018-06-14T08:47:22.000Z
2019-07-24T05:58:30.000Z
Qwen/Qwen-72B
1. YES
2. YES