矩阵的转置运算及Python实现
1391字,阅读需时5分钟

矩阵的转置也比较容易理解,就是把矩阵的行列互换,行变成列,列变成行。

我们先来看一个矩阵转置的例子。下面的A矩阵是3 X 2的矩阵:

image.png                                             

A矩阵转置后是2 X 3 矩阵,A矩阵的第1行变换为A转置矩阵的第1列,A矩阵的第2行变换为A转置矩阵的第2列,A矩阵的第3行变换为A转置矩阵的第3列。A的转置矩阵B矩阵如下:

image.png

前面的转换规则是按行进行转换,也可以按列进行转换。A矩阵的第1列转换为B矩阵的第1行,A矩阵的第2列转换为B矩阵的第2行,也可以得出上面的矩阵B。

下面给出矩阵的转置概念:

把m X n矩阵A的行列依次互换得到n X m矩阵,称为矩阵A的转置矩阵,记作AT。

image.png

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

image.png

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

image.png

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

image.png

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)
我要评论
全部评论
郎宏林
授课老师
授课老师简介
项目经理,系统分析和架构师,从事多年中文信息处理技术。熟悉项目管理、擅长项目需求分析和设计、精通Java、C#、Python等编程语言。
下载APP

手机、电脑同步学

用微信或手机浏览器扫描二维码,即可下载APP。

  • 备案号:鲁ICP备15001146号
  • @1997-2018 潍坊米粒花网络技术有限公司版权所有