2 矩阵
2.1 什么是矩阵
在数学中:矩阵是⼀个按照⻓⽅阵列排列的复数或实数集合。
线性代数中:矩阵是描述线性代数中线性关系的参数,即矩阵是⼀个线性变换, 可以将⼀些向量转换为另⼀些向量。
import numpy as np np.mat(np.random.randint(1,10,size = (3,4)))
2.2 矩阵的计算⽅法
2.2.1 矩阵的加减法
矩阵的加法与减法要求进⾏操作的两个矩阵A和B具有相同的阶, 假设矩阵A为m*n阶,矩阵B为m*n阶那么C=A+B|C=A-B也是m*n阶矩阵。
A = np.mat(np.random.randint(1,10,size=(3,4))) B = np.mat(np.random.randint(1,10,size=(3,4))) print(A) print('-----') print(B) A-B
2.2.2 矩阵与数的乘法
将数λ与矩阵A相乘,就是将数λ与矩阵A中的每⼀个元素相乘。
A = np.mat(np.random.randint(1,10,size=(3,4))) print(A) A*1/3
2.2.3 矩阵与向量相乘
假设A为m*n阶矩阵,x为n*1的列向量,则Ax为m*1的列向量,计作:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124155104864-1218045619.png)
A = np.mat([[1,2,3],[4,5,6],[7,8,9]]) V = np.array([[2],[2],[2]]) print(A) print(V) A*V
2.2.4 矩阵与矩阵相乘
矩阵的乘法仅当第⼀个矩阵A的列数和第⼆个矩阵B的⾏数相等时 才能够定义,假设A为m*s阶矩阵,B为s*n阶矩阵,那么C=A*B是m*n阶矩阵。
A = np.mat([[1,2],[3,4]]) B = np.mat([[1,2],[3,4]]) print(A) print(B) A*B
np.multiply(A,B)
2.2.5 矩阵的转置
把矩阵A的⾏和列互相交换所产⽣的矩阵称为A的转置矩阵,这⼀过程叫做矩阵的转置。 ⽤
表示。
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124155432032-1766553825.png)
矩阵转置的⼏个性质
# A = np.mat([[1,2],[3,4]]) print(A) # print('------') # print(A.T) # print('------') # print(A.T.T) # print((3*A).T) # print(3*(A.T)) A = np.mat([[1,2,3],[4,5,6]]) B = np.mat([[1,2,3],[4,5,6]]) # print((A*B).T) # print(B.T*A.T) print((A+B).T) print(A.T+B.T)
2.3 矩阵的导数
2.3.1 常⽤的导数
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124155631964-1286422396.png)
2.3.2 常⽤的矩阵导数
2.4 ⼏种特殊的矩阵
2.4.1 零矩阵
矩阵中各个元素全为0的矩阵。
import numpy as np np.mat(np.zeros((3,4))) np.mat(np.ones((3,4))) np.mat(np.twos((3,4))) # x
2.4.2 单位矩阵
主对⻆线上的元素都是1,其他元素都是0的矩阵。
np.identity(4)
2.4.3 对⻆矩阵
主对⻆线之外的元素皆为0的矩阵
np.diag((1,2,3,4))
2.4.4 对称矩阵
是指以主对⻆线为对称轴,各元素对应相等的矩阵
对称矩阵的⼀个性质:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160030075-1771081762.png)
X = np.mat([[1,2,3],[4,5,6],[7,8,9]]) A = np.triu(X) X = A+A.T-np.diag((np.diagonal(X))) print(X)
2.4.5 正交矩阵
如果矩阵满⾜
(单位矩阵),则称该矩阵为正交矩阵。
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160117069-569802990.png)
2.4.6 正定矩阵
对应的空间曲⾯:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160708472-331675658.png)
效果: 具有唯⼀的最⼩值。
2.4.7 半正定矩阵
对应的空间曲⾯:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160831789-92453613.png)
效果: 具有不唯⼀的最⼩值。
2.4.8 不定矩阵
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160905639-237825361.png)
对应的空间曲⾯:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124160944141-498517596.png)
效果: 存在鞍点,⽆最⼩值点,也⽆最⼤值点。
2.4.9 负定矩阵
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124161253576-188594646.png)
对应的空间曲⾯:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124161320811-1226125104.png)
效果: 具有唯⼀的最⼤值。
2.4.10 半负定矩阵
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124161402367-850235264.png)
对应的空间曲⾯:
![](https://img2020.cnblogs.com/blog/1275415/202101/1275415-20210124161424111-1532166861.png)
效果: 具有不唯⼀的最⼤值。
正定矩阵的⼏个性质:
定矩阵的⾏列式恒为正;
实对称矩阵A正定当且仅当A与单位矩阵合同;
两个正定矩阵的和是正定矩阵;
正实数与正定矩阵的乘积是正定矩阵。