矩阵变换
矩阵基本运算
矩阵加法
矩阵的加法满足下列运算律(A,B,C都是同型矩阵):
A + B = B + A
(A + B) + C = A + (B + C)
应该注意的是只有同型矩阵之间才可以进行加法
矩阵减法
矩阵数乘
数乘满足运算律
矩阵转置
转置满足运算律
共轭
矩阵的共轭定义为:
.一个2×2复数矩阵的共轭(实部不变,虚部取负)
共轭转置
矩阵的共轭转置定义为:
,也可以写为:
或者写为
。一个2×2复数矩阵的共轭转置如下所示:
矩阵乘法
两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义。如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵
,它的一个元素
并将此乘积记为:
矩阵乘法运算律
结合律:
左分配律:
右分配律:
矩阵乘法不满足交换律。
矩阵变换
位移
import matplotlib.pyplot as plt
import numpy as np
points = np.array([
[0,0],
[0,5],
[3,5],
[3,4],
[1,4],
[1,3],
[2,3],
[2,2],
[1,2],
[1,0],
[0,0]
])
matrix = np.array([2,0])
newpoints = points + matrix
plt.plot(points[:,0],points[:,1])
plt.plot(newpoints[:,0],newpoints[:,1])
plt.xlim(-10,10)
plt.ylim(-10,10)
plt.show()
旋转
import matplotlib.pyplot as plt
import numpy as np
points = np.array([
[0,0],
[0,5],
[3,5],
[3,4],
[1,4],
[1,3],
[2,3],
[2,2],
[1,2],
[1,0],
[0,0]
])
matrix = np.array([
[1,0],
[0,-1]
])
newpoints = np.dot(points,matrix.T)
plt.plot(points[:,0],points[:,1])
plt.plot(newpoints[:,0],newpoints[:,1])
plt.xlim(-10,10)
plt.ylim(-10,10)
plt.show()
缩放
import matplotlib.pyplot as plt
import numpy as np
points = np.array([
[0,0],
[0,5],
[3,5],
[3,4],
[1,4],
[1,3],
[2,3],
[2,2],
[1,2],
[1,0],
[0,0]
])
matrix = np.array([
[2,0],
[0,1]
])
newpoints = np.dot(points,matrix.T)
plt.plot(points[:,0],points[:,1])
plt.plot(newpoints[:,0],newpoints[:,1])
plt.xlim(-10,10)
plt.ylim(-10,10)
plt.show()