python矩阵乘法算法_纯python进行矩阵的相乘运算的方法示例
本文介绍了纯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进行矩阵的相乘运算的方法示例相关推荐
- python颜色识别算法_纯Python编写K-means算法,提取图片中的主体颜色
在文章 今天我用Python手写了一个K-means算法,来完成同样的功能. 聚类是数据挖掘中一种非常重要的学习流派,指将未标注的样本数据中相似的分为同一类,正所谓"物以类聚,人以群分&qu ...
- python进行矩阵计算公式_纯python进行矩阵的相乘运算的方法示例
本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下: def matrixMultiply(A, B): # 获取A的行数和列数 A_row, A_col = shape(A) ...
- python电影推荐算法_基于Python的电影推荐算法
原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...
- python中pca算法_使用python的numpy库实现PCA算法
#!/usr/bin/env python # -*- coding: utf-8 -*- from numpy import * #参数1:特征值向量, #参数2:比率 #返回值:k(符合指定比率的 ...
- 两个3×3矩阵乘法例题_两个3×3矩阵相乘 三个矩阵相乘从左向右算还是从右算起...
两个三乘三矩阵相乘怎么算,在线等 设A为m*p的矩阵,B为p*n的矩阵,那么称m*n的矩阵C为矩阵A与B的乘积,记作C=AB ,其中矩阵C中的第i行第j列元素可以表示为: 例如: 扩展资料: 注意事项 ...
- python矩阵乘法分治_分治法实现矩阵乘法
#include #include #include #include using namespace std; int *InitMatrix(int row,int col);//初始化 void ...
- python 排列组合算法_基于python快速实现排列组合算法
1.python语言简单.方便,其内部可以快速实现排列组合算法,下面做简单介绍. 2.一个列表数据任意组合 2.1主要是利用自带的库#_*_ coding:utf-8 _*_ #__author__= ...
- python二叉树遍历算法_分享python实现的二叉树定义与遍历
这篇文章主要介绍了python实现的二叉树定义与遍历算法,结合具体实例形式分析了基于Python定义的二叉树及其常用遍历操作实现技巧,需要的朋友可以参考下 本文实例讲述了python实现的二叉树定义与 ...
- python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验
用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...
最新文章
- 【MySQL】Got fatal error 1236原因和解决方法
- markdown转word
- golang中的sync.once
- android 编译过程
- vscode较详细注释的汇编语言hello world 输出程序,第一个汇编程序
- HBase-site.xml 常见重要配置参数(转载)
- 详解vmware安装
- 谈谈linux系统调用
- python的去重函数_python去重函数是什么
- 微信小程序报 47001 - data format error hint
- Servlet 身份验证体系结构
- 大连民族大学计算机科学学院,魏巍 - 大连民族大学 - 计算机科学与工程学院
- C语言学习一些指针随笔记
- 京东云修改Hostname,Centos7修改Hostname
- 淘淘商城项目---8.5
- linux 安装qt5和qtcreator开发工具
- 程序猿也爱学英语,有图有真相 1
- 为什么计算机编程以英语为主,为什么做编程都用英文,中文不行吗?听程序员解释完,总算明白了...
- SparkSubmit提交任务到yarn及报错解决方案
- 教你如何在线播放FLV格式的文件
热门文章
- 【python】socket编程常量错误问题-1 'AF_INET'
- Linux Socket学习(五)
- 华为机试HJ29: 字符串加解密
- python数值类型教程_Python数值类型 int、float、complex 详解
- linux快速查找文件中所包含的指定字段的个数
- HTML示例04---文字
- 亲密关系-【有效表达】-如何完善自己的表达思路?
- 大连交通大学计算机网络作业,计算机网络题库(大连交通大学)chapter4
- 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?
- 修改linq结果集_linq 查询的结果会开辟新的内存吗?