【Python】【线性代数】用Python学习线性代数——矩阵

矩阵的表示方法

import numpy as np
a = np.array([[1, 2],
            [3, 4],
            [5, 6],
            [7, 8]])
print(a)
print(a.shape)

运行结果

[[1 2]
 [3 4]
 [5 6]
 [7 8]]	#矩阵
(4, 2)	#形状为4行2列

矩阵的转置

每个元素的行列号互换。

import numpy as np
a = np.array([[1, 2, 3, 4],
            [5, 6, 7, 8]])
print(a)
print(a.T)

运行结果

[[1 2 3 4]
 [5 6 7 8]]
[[1 5]
 [2 6]
 [3 7]
 [4 8]]

特殊矩阵

一维矩阵

也就是向量。

import numpy as np
a = np.array([[1, 2, 3, 4]])
print(a)
print(a.T)

运行结果

[[1 2 3 4]]
[[1]
 [2]
 [3]
 [4]]

方阵

方阵行列数相等。

import numpy as np
a = np.array([[1, 1, 1, 1],
            [2, 2, 2, 2],
            [3, 3, 3, 3],
            [4, 4, 4, 4]])
print(a)
print(a.shape)

运行结果

[[1 1 1 1]
 [2 2 2 2]
 [3 3 3 3]
 [4 4 4 4]]
(4, 4)

对称矩阵

如果矩阵与它转置后的矩阵相同,那么称这个矩阵为对称矩阵。即关于左上到右下的对角线互相对称的元素相等。

import numpy as np
a = np.array([[1, 2, 3, 4],
            [2, 5, 6, 7],
            [3, 6, 8, 9],
            [4, 7, 9, 0]])
print(a)
print(a.T)
[[1 2 3 4]
 [2 5 6 7]
 [3 6 8 9]
 [4 7 9 0]]
[[1 2 3 4]
 [2 5 6 7]
 [3 6 8 9]
 [4 7 9 0]]

零矩阵

元素全为0的矩阵。

import numpy as np
a = np.zeros([3, 4])	#zeros为创建零矩阵的方法
print(a)

运行结果:

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]	#3行4列的零矩阵

对角矩阵

非对角线位置上矩阵的元素全部为0。

import numpy as np
a = np.diag([1, 2, 3, 4, 5])	#diag为创建对角矩阵的方法
print(a)

运行结果:

[[1 0 0 0 0]
 [0 2 0 0 0]
 [0 0 3 0 0]
 [0 0 0 4 0]
 [0 0 0 0 5]]

单位矩阵

主对角线全为1的对角矩阵。

import numpy as np
a = np.eye(5)	#eye为创建单位矩阵的方法
print(a)

运行结果:

[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]

矩阵的加法运算

[ a 11 a 12 a 1 n a 21 a 22 a 2 n a m 1 a m 2 a m n ] + [ b 11 b 12 b 1 n b 21 b 22 b 2 n b m 1 b m 2 b m n ] = [ a 11 + b 11 a 12 + b 12 a 1 n b 1 n a 21 + b 21 a 22 + b 22 a 2 n + b 2 n a m 1 + b m 1 a m 2 + b m 2 a m n + b m n ] \left[ \begin{matrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{matrix} \right] + \left[ \begin{matrix} b_{11} & b_{12} & \cdots & b_{1n} \\ b_{21} & b_{22} & \cdots & b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ b_{m1} & b_{m2} & \cdots & b_{mn} \\ \end{matrix} \right] = \left[ \begin{matrix} a_{11}+b_{11} & a_{12}+b_{12} & \cdots & a_{1n}b_{1n} \\ a_{21}+b_{21} & a_{22}+b_{22} & \cdots & a_{2n}+b_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \cdots & a_{mn}+b_{mn} \\ \end{matrix} \right]

发布了143 篇原创文章 · 获赞 140 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/qq_43733499/article/details/104072159