数学基础-线性代数
矩阵
基本概念
一个 $ n \times m $ 的矩阵是 $ n $ 行 $ m $ 列的举行整列,一般由数组成,下面是一个 $ 2 \times 3 $ 的矩阵. $$ \begin{pmatrix}1&2&3\4&5&6 \end{pmatrix} $$
单位矩阵 $$ I = \begin{pmatrix} 1 & \cdots & 0\ \vdots & \ddots &\vdots\ 0 & \cdots &1\end{pmatrix} $$ ,也就是对角线上为1,其他都为0的矩阵.
基本运算
矩阵加法
每行每列各个数各自相加
矩阵乘法
设 $ A $ 是 $ n \times m $ 的矩阵, $ B $ 是 $ m \times p $ 的矩阵,他们的乘积 $ C $ 是一个 $ n \times m $ 的矩阵, 其中
矩阵的幂
矩阵的转置
$ n \times m $ 的矩阵 $ A $ 的转置 $ A^T $ 是个 $ m \times n $ 的矩阵, 可以通过 $ A $ 交换行列得到.
矩阵的逆
只有 $ n \times n $ 的可能存在逆, 矩阵 $ A $ 的逆 $ B $ 满足
如果 $ B $ 存在,则 $ B $ 是唯一的,一般记做 $ A^{-1} $
性质
- 矩阵惩罚满足分配率,结合律,不一定满足交换律
- 矩阵假发满足交换律和结合率
算法
矩阵满足结合律,所以在求矩阵的幂的时候可以使用快速幂加速
行列式
基本概念
行列式是一个定义域为 $ n \times n $ 的矩阵, 值域为一个标量的函数, 通常记为 $ det(A) $
行列式也可以表示为 $ n $ 维广义欧几里得空间中的有向体积.
一个 $ n \times n $ 的行列式定义为 $$ det(A) = \sum_{\sigma \in S_n}(-1){n(\sigma)}\prod_{i=1}na_{i,\sigma(i)} $$
其中 $ S_n $ 表示集合 $ {1,2,3 \cdots, n} $ 上置换的全体, $ n(\sigma) $ 是对一个置换中逆序对的个数,逆序对的定义为满足 $ 1 \le i < j \le n $ 且 $ \sigma(i) > \sigma(j) $ 的 $ (i,j) $
性质
- 若矩阵中一行或者一列为0,那么该行列式的值为0
- 若矩阵中有一行有公因子k, 那么可以提出k, 使得 $ D=kD_1 $
- 若矩阵中有一行可以拆分成两个数之和,那么该行列式可以拆分成两个行列式相加(剩余的行和列不发生改变)
- 交换矩阵的两行,行列式取反
- 将一行的 $ k $ 倍加到另一行上,行列式不变
- 转置,行列式不变
- 有上述性质可以得到,如果该矩阵是上三角或者下三角矩阵时,行列式的值等于对角线的乘积
解线性方程组
基本概念
解线性方程组即求解方程组
也可以表示为 $ Ax = B $ , 其中 $ A $ 是 $ m \times n $ 的矩阵, $ x $ 是 $ n $ 维列向量, $ b $ 是 $ m $ 维列向量, 即
算法
- 高斯消元(Gaussian elimination)
矩阵的初等变换:
互换矩阵两行(列),用非零常熟乘某一行(列),某行(列)的 $ k $ 倍加到矩阵的另一行(列)(避免精度损失)
则上述方程组可以用一个增光矩阵表示.
于是我们只要进行初等变换使得上述矩阵称为上三角矩阵就行了.
- 克莱姆法则(Cramer rule)
当 $ A $ 为 $ n \times n $ 的矩阵时,可用Cramer rule进行求解, 方程的解为:
其中 $ D $ 是 $ A $ 的行列式, $ D_i $ 是将 $ A $ 中第 $ i $ 列替换成 $ b $ 后得到的矩阵的行列式.
例如上述列子中,求解 $ x_2 $ , 已知: $$ D = \begin{pmatrix} 1 & 1 & 1 \ 1 & 1 & 2 \ 1 & 2 & 3 \end{pmatrix} = -1, D\begin{pmatrix} 1 & 1 & 1 \ 1 & 2 & 2 \ 1 & 6 & 3 \end{pmatrix} = -3 $$
立刻就可以得到: $$ x_2 = \frac{D_2}{D} = 3 $$
用途
- 求解可逆矩阵的逆矩阵:
对于一个 $ n \times n $ 的非奇异矩阵, 在矩阵右侧补上一个 $ n \times n $ 的单位矩阵, 对于这个 $ n \times (2n) $ 的矩阵进行高斯消元, 使得这个矩阵左侧变成一个 $ n \times n $ 的单位矩阵.这是右侧的 $ n \times n $ 的矩阵就是原矩阵的逆矩阵
2. 同模方程组也可使用高斯消元, 在除法时用乘逆元代替. 偶遇只有在模素数时, 非零数的逆元才唯一, 所以, 素数模才能保证有唯一解
3. 求解行列式的值.消成上三角矩阵就OK.
Expand
- 由于在消元过程中需要用到除法, 所以会有浮点运算精度问题, 不同的消元顺序可能会导致较大的差异, 推荐使用绝对值较大的主元进行消元, 能达到比较好的效果
- 可以使用辗转相除法进行消元,这样做可以保证稀疏为整数.
多项式
基本概念
给定一个数域 $ R $ , 变量 $ x $ , 一元多项式的形式是:
其中 $ a_i \in R $ , 并且 $ a_n \not= 0 $
多项式中次数最高的项称为首项,首项的系数等于1的多项式称作首一多项式
多项式加法: 对应次数系数做加法.例如:
多项式乘法: 两个多项式的每一项都相乘, 例如:
性质
- $ (1 + x)^n = \sum_{i=0}^n \binom{n}{i}x^i $
- $ n $ 个点可以唯一确定一个 $ n $ 次多项式
- 一个 $ n $ 次多项式有 $ n $ 个负数根
算法
用牛顿迭代法求解方程的根
选择一个靠近多项式 $ f(x) $ 零点的点 $ x_0 $ 作为迭代初值, 计算 $ f(x_0) $ 和 $ \mathop{{f}'}(x_0) $ , 解方程:
其中 $ i_1,i_2,\cdots $ 是一个 $ n $ -的排列, $ i_j $ 表示将 $ j $ 位置上的元素换到了 $ i_j $ 位置.这样一个变换称作 $ n $ 次置换, 形成的群称作 $ n $ 次置换群. 所有的 $ n $ 次置换形成的群记做 $ S_n $ ,例如 $ S_3=\left{ \begin{pmatrix} 1&2&3 \1 &2 &3 \end{pmatrix}\begin{pmatrix} 1&2&3 \1 &3 &2 \end{pmatrix}\begin{pmatrix} 1&2&3 \2 &1 &3 \end{pmatrix}\begin{pmatrix} 1&2&3 \2 &3 &1 \end{pmatrix}\begin{pmatrix} 1&2&3 \3 &1 &2 \end{pmatrix}\begin{pmatrix} 1&2&3 \3 &2 &1 \end{pmatrix} \right} $
还有一种表示置换的方法,若 $ (i_1,i_2,\cdots,i_k) $ 满足 $ f(i_j)=i_{j+1} $ , 则称 $ (i_1,i_2,\cdots,i_k) $ 为一个循环节, 显然, 一个置换可以拆成若干个循环节,所以可以将置换用循环节表示.
例如 $ S_3 $ 在这种情况下可以表示为 $ S_3={(1)(2)(3),(1)(2,3),(1,2)(3),(1,2,3),(1,3,2),(1,3)(2)} $
群作用
设 $ G $ 为群, $ S $ 为集合,考虑一个映射.
若此映射满足:
(a) $ 1_G \circ x = x, \forall x \in S $
(b) $ (gh) \circ x = g \circ (h \circ x), \forall x \in S, \forall g, h \in G $
则成映射 $ \circ $ 是 $ G $ 上的一个群作用
$ S_3 $ 在 $ T = {a,b,c} $ 上有群作用 $ \circ $ :
例如对于 $ f = \begin{pmatrix} 1 & 2 & 3 \ 2 & 3 & 1 \end{pmatrix} $ , $ f \circ a=f(a)=b, f \circ b = f(b) = c, f \circ c = f(c) = a $