本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下:

def matrixMultiply(A, B):

# 获取A的行数和列数

A_row, A_col = shape(A)

# 获取B的行数和列数

B_row, B_col = shape(B)

# 不能运算情况的判断

if(A_col != B_row):

raise ValueError

# 最终的矩阵

result = []

# zip 解包后是转置后的元组,强转成list, 存入result中

BT = [list(row) for row in zip(*B)]

# 开始做乘积运算

for A_index in range(A_row):

# 用于记录新矩阵的每行元素

rowItem = []

for B_index in range(len(BT)):

# num 用于累加

num = 0

for Br in range(len(BT[B_index])):

num += A[A_index][Br] * BT[B_index][Br]

# 累加完成后,将数据存入新矩阵的行中

rowItem.append(num)

result.append(rowItem)

return result

说明: A矩阵与B矩阵的乘法运算,最终得到新的矩阵X , 思路

首先判断是否可以相乘:前提条件是A的列与B的行要相同

我们可以画图理解:假如A是3行5列,B是5行2列,相乘结果是3行2列

将B转置后是2行5列,我们称之为BT, 这样 A 和 BT 都是5列了

则A的每行中的第 i 个元素 * BT每行中的第 i 个元素,相加构成新矩阵X的新行,循环A行,共3行,则新矩阵X就会逐步添加新行,待循环完毕,得到新矩阵X

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 纯python进行矩阵的相乘运算的方法示例

本文地址: http://www.cppcns.com/jiaoben/python/265725.html

python矩阵乘法算法_纯python进行矩阵的相乘运算的方法示例相关推荐

  1. python颜色识别算法_纯Python编写K-means算法,提取图片中的主体颜色

    在文章 今天我用Python手写了一个K-means算法,来完成同样的功能. 聚类是数据挖掘中一种非常重要的学习流派,指将未标注的样本数据中相似的分为同一类,正所谓"物以类聚,人以群分&qu ...

  2. python进行矩阵计算公式_纯python进行矩阵的相乘运算的方法示例

    本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下: def matrixMultiply(A, B): # 获取A的行数和列数 A_row, A_col = shape(A) ...

  3. python电影推荐算法_基于Python的电影推荐算法

    原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...

  4. python中pca算法_使用python的numpy库实现PCA算法

    #!/usr/bin/env python # -*- coding: utf-8 -*- from numpy import * #参数1:特征值向量, #参数2:比率 #返回值:k(符合指定比率的 ...

  5. 两个3×3矩阵乘法例题_两个3×3矩阵相乘 三个矩阵相乘从左向右算还是从右算起...

    两个三乘三矩阵相乘怎么算,在线等 设A为m*p的矩阵,B为p*n的矩阵,那么称m*n的矩阵C为矩阵A与B的乘积,记作C=AB ,其中矩阵C中的第i行第j列元素可以表示为: 例如: 扩展资料: 注意事项 ...

  6. python矩阵乘法分治_分治法实现矩阵乘法

    #include #include #include #include using namespace std; int *InitMatrix(int row,int col);//初始化 void ...

  7. python 排列组合算法_基于python快速实现排列组合算法

    1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库#_*_ coding:utf-8 _*_ #__author__= ...

  8. python二叉树遍历算法_分享python实现的二叉树定义与遍历

    这篇文章主要介绍了python实现的二叉树定义与遍历算法,结合具体实例形式分析了基于Python定义的二叉树及其常用遍历操作实现技巧,需要的朋友可以参考下 本文实例讲述了python实现的二叉树定义与 ...

  9. python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验

    用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...

最新文章

  1. 【MySQL】Got fatal error 1236原因和解决方法
  2. markdown转word
  3. golang中的sync.once
  4. android 编译过程
  5. vscode较详细注释的汇编语言hello world 输出程序,第一个汇编程序
  6. HBase-site.xml 常见重要配置参数(转载)
  7. 详解vmware安装
  8. 谈谈linux系统调用
  9. python的去重函数_python去重函数是什么
  10. 微信小程序报 47001 - data format error hint
  11. Servlet 身份验证体系结构
  12. 大连民族大学计算机科学学院,魏巍 - 大连民族大学 - 计算机科学与工程学院
  13. C语言学习一些指针随笔记
  14. 京东云修改Hostname,Centos7修改Hostname
  15. 淘淘商城项目---8.5
  16. linux 安装qt5和qtcreator开发工具
  17. 程序猿也爱学英语,有图有真相 1
  18. 为什么计算机编程以英语为主,为什么做编程都用英文,中文不行吗?听程序员解释完,总算明白了...
  19. SparkSubmit提交任务到yarn及报错解决方案
  20. 教你如何在线播放FLV格式的文件

热门文章

  1. 【python】socket编程常量错误问题-1 'AF_INET'
  2. Linux Socket学习(五)
  3. 华为机试HJ29: 字符串加解密
  4. python数值类型教程_Python数值类型 int、float、complex 详解
  5. linux快速查找文件中所包含的指定字段的个数
  6. HTML示例04---文字
  7. 亲密关系-【有效表达】-如何完善自己的表达思路?
  8. 大连交通大学计算机网络作业,计算机网络题库(大连交通大学)chapter4
  9. 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?
  10. 修改linq结果集_linq 查询的结果会开辟新的内存吗?