- 矩阵运算 及 md表示 记录
- python需要用到的库 numpy
import numpy as np
矩阵加法
- 两个 相同维数 矩阵的加法可以通过对应元素的相加得到, aij+bij
矩阵乘法
定义 设矩阵 A=(aij)m×n , B=(bij)s×n ,那么 矩阵A 与 矩阵B 的乘积是一个 m×n 矩阵 C=(cij)m×n ,其中 cij=ai1b1j+ai2b2j+...+aisbsj=∑sk=1aikbkj
只有当 矩阵A 的 列数 等于 矩阵B 的 行数 时,两个矩阵才能相乘
例如
C=A×B={142536}×⎧⎩⎨⎪⎪123456⎫⎭⎬⎪⎪={1x1+2x2+3x34x1+5x2+6x31x4+2x5+3x64x4+5x5+6x6}={14323277}python代码测试
def matTest2(): ma = [[1, 2, 3], [4, 5, 6]] ma = np.mat(ma) # 转为ndarray对象,矩阵化 mb = [[1, 4], [2, 5], [3, 6]] mb = np.mat(mb) mc = ma.dot(mb) # 矩阵乘法 print(mc) pass 结果 [[14 32] [32 77]]
转置矩阵
定义:把矩阵 A 的 行列互换 所得到的矩阵称为 原矩阵 的 转置矩阵,以 AT 表示。
即 A=(aij)m×n , AT=(aji)n×m
A=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a11a21⋮am1a12a22⋮am1⋯⋯⋱⋯a1na21⋮amn⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪,AT=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪a11a12⋮a1na21a22⋮a2n⋯⋯⋱⋯am1am2⋮anm⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪例如:
A={142536},AT=⎧⎩⎨⎪⎪123456⎫⎭⎬⎪⎪python代码测试
def matTest3(): ma = [[1, 2, 3], [4, 5, 6]] ma = np.mat(ma) mb = ma.T #矩阵转置 print(mb) pass 结果 [[1 4] [2 5] [3 6]]
矩阵求逆
定义:一个n阶 方阵A 称为可逆的,或非奇异的,如果存在一个n阶 方阵B,使得 A×B=B×A=E 并称B是A的一个 逆矩阵。不可逆的矩阵称为 奇异矩阵。A 的逆矩阵记作 A−1 。且 A×A−1 得到的矩阵为 对角线元素全为1,其他元素全为0
例如:
A={−241−3},B=⎧⎩⎨−32−2−12−1⎫⎭⎬A×B={−241−3}×⎧⎩⎨−32−2−12−1⎫⎭⎬={1001}所以判断两个矩阵是否为互逆矩阵,直接相乘即可判断
性质:
- 可逆矩阵一定是方阵。
- (唯一性)如果矩阵A是可逆的,其逆矩阵是唯一的。
- A的逆矩阵的逆矩阵还是A。记作 (A−1)−1=A
- 可逆矩阵A的转置矩阵AT也可逆,并且 (AT)−1=(A−1)T (转置的逆等于逆的转置)
- 若矩阵A可逆,则矩阵A满足消去律。即AB=O(或BA=O),则B=O,AB=AC(或BA=CA),则B=C。
- 两个可逆矩阵的乘积依然可逆。
- 矩阵可逆当且仅当它是满秩矩阵。
python代码测试
def matTest4(): ma = [[-2, 1], [4, -3]] ma = np.mat(ma) mb = np.linalg.inv(ma) # 矩阵求逆 print(mb) mc = ma.dot(mb) print(mc) pass 结果 [[-1.5 -0.5] [-2. -1. ]] [[ 1. 0.] [ 0. 1.]]
矩阵行列式
对角线展开
二阶:{a1a2b1b2}=a1b2−a2b1三阶:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=a1b2c3+b1c2a3+c1a2b3−a3b2c1−b3c2a1−c3a2b1降阶展开(适合高阶行列式)
按第一阶展开:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=a1×{b2b3c2c3}−b1×{a2a3c2c3}+c1×{a2a3b2b3}按中阶展开:⎧⎩⎨⎪⎪a1a2a3b1b2b3c1c2c3⎫⎭⎬⎪⎪=b2×{a1a3c1c3}−a2×{b1b3c1c3}+c2×{a1a3b1b3}python代码测试
def matTest5(): ma = [[1, 2], [1, 3]] ma = np.mat(ma) mb = np.linalg.det(ma) print(mb) mf = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] mf = np.mat(mf) me = np.linalg.det(mf) print(me) 结果 1.0 6.66133814775e-16
附_矩阵的markdown表示
$$
\left\{
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{matrix}
\right\} \tag{2}
$$
$$
\begin{Bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{Bmatrix} \tag{5}
$$
⎧⎩⎨⎪⎪147258369⎫⎭⎬⎪⎪(5)
$$
\left[
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{matrix}
\right] \tag{3}
$$
$$
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{bmatrix} \tag{4}
$$
$$
\left[
\begin{matrix}
1 & 2 & \cdots & 4 \\
7 & 6 & \cdots & 5 \\
\vdots & \vdots & \ddots & \vdots \\
8 & 9 & \cdots & 0 \\
\end{matrix}
\right] \tag {6}
$$
$$
\left[
\begin{array}{cc|c}
1 & 2 & 3 \\
4 & 5 & 6
\end{array}
\right]
=>
\left[
\begin{array}{cc|c}
1 & 2 & 3 \\
4 & 5 & 6
\end{array}
\right] \tag{7}
$$
我们使用矩阵 $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$ 作为因子矩阵,将其...
我们使用矩阵 (acbd) 作为因子矩阵,将其…