矩阵变换

矩阵基本运算

矩阵加法

矩阵变换

矩阵的加法满足下列运算律(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()