矩阵的转置也比较容易理解,就是把矩阵的行列互换,行变成列,列变成行。
我们先来看一个矩阵转置的例子。下面的A矩阵是3 X 2的矩阵:
A矩阵转置后是2 X 3 矩阵,A矩阵的第1行变换为A转置矩阵的第1列,A矩阵的第2行变换为A转置矩阵的第2列,A矩阵的第3行变换为A转置矩阵的第3列。A的转置矩阵B矩阵如下:

前面的转换规则是按行进行转换,也可以按列进行转换。A矩阵的第1列转换为B矩阵的第1行,A矩阵的第2列转换为B矩阵的第2行,也可以得出上面的矩阵B。
下面给出矩阵的转置概念:
把m X n矩阵A的行列依次互换得到n X m矩阵,称为矩阵A的转置矩阵,记作AT。

矩阵的转置运算满足下面的运算律:

转置矩阵的转置矩阵是原矩阵。

A与B和的转置矩阵等于A的转置矩阵与B的转置矩阵的和。

A与B矩阵积的转置矩阵等于B的转置矩阵与A的转置的积(顺序不能颠倒)。
下面我们使用Python语言来实现前面案例矩阵A的转置运算。
#定义矩阵A A = [[1,1],[3,7],[11,5]] #定义矩阵转置运算函数 def matrixTranspos(A): #创建矩阵C,矩阵C的默认元素都为0 #矩阵C的行数为A矩阵的列数,列数为A矩阵的行数 C = [[0] * len(A) for i in range(len(A[0]))] #按行列遍历A矩阵 for i in range(len(A)): for j in range(len(A[0])): C[j][i] += A[i][j] return C if __name__ == '__main__': C = matrixTranspos(A) print(C)
下面我们使用NumPy库来实现前面案例矩阵A的转置运算。
import numpy as np #定义矩阵A A = np.array([[1,1],[3,7],[11,5]]) #定义矩阵转置运算函数 def matrixTranspos(A): #创建矩阵C,矩阵C的默认元素都为0 #矩阵C的行数为A矩阵的列数,列数为A矩阵的行数 C = [[0] * len(A) for i in range(len(A[0]))] #NumPy的transpose完成矩阵A的转置运算 C = np.transpose(A) return C if __name__ == '__main__': C = matrixTranspos(A) print(C)