矩阵乘法,python简易实现

这篇具有很好参考价值的文章主要介绍了矩阵乘法,python简易实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.首先,先了解下矩阵乘法最基本的工作原理,可简易得理解成 C矩阵(i, j)的值是

由A矩阵 i 行依次与B矩阵 j 列相乘的求和,即:

矩阵乘法,python简易实现

 2.demo实现

x = [[1, 2, 2, 4],
     [5, 6, 7, 8]]
y = [[1, 2],
     [4, 5],
     [3, 6],
     [7, 8]]

# 定义结果形式:2*2矩阵
result = [[0, 0],
          [0, 0]]
# 迭代运算
for i in range(len(x)):
    for j in range(len(y[0])):
        for k in range(len(y)):
            result[i][j] += x[i][k]*y[k][j] 
# 输出矩阵
for a in result:
    print(a)

3、基于矩阵结果是行和列的对应相乘的累和迭代,所以选择依次增加,核心算法:

result[i][j] += x[i][k]*y[k][j] 

     其中,选取 i、j、k进行循环与迭代,k作为中间值联系双方,默认状态下 len(x) 是A矩阵的行数,len(y[0])是b矩阵的列数

     最后,记得print信息,结果如下:

[43, 56]
[106, 146]

有问题欢迎讨论提问,如果有做得不够的地方,请你指出。 谢谢!文章来源地址https://www.toymoban.com/news/detail-509835.html

到了这里,关于矩阵乘法,python简易实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【矩阵乘法】C++实现外部矩阵乘法

    ​ 使用文件和内存模拟系统缓存,并利用矩阵乘法验证实际和理论情况。 设计一个 Matrix 类,其中 Matrix 是存在磁盘中的一个二进制文件,类通过保存的矩阵属性来读取磁盘。前八个字节为两个 int32 ,保存矩阵的行列数。 Matrix中有一个 buffer 成员为读取到的数据缓存,通过

    2024年02月11日
    浏览(26)
  • MPI实现矩阵向量乘法

    (1)问题 MPI实现矩阵向量:Ab的乘积。其中A:100行100列,b为列向量。 (2)思路 将所有进程分为两部分,rank=0的进程为master节点,其余进程为worker节点。 master节点: (1)对A,b赋值,同时将b广播出去(这里涉及一个对广播这个函数不太熟悉的点) (2)对A进行划分,使其

    2024年02月11日
    浏览(25)
  • 使用cublas实现矩阵乘法

    使用CUDA写一个矩阵乘法 C = A X B (矩阵维度: A: M X K, B: K X N, C: M X N ),当然可以自己写核函数,但效率不如CUDA自带的 cublas 算法效率高。使用 cublas 唯一值得注意的地方是, 在CPU中的矩阵数据存储是行优先存储,而在GPU中是列优先存储 ,这相当于对原矩阵做了一次转置,我

    2024年02月16日
    浏览(30)
  • markdown实现矩阵乘法

    [ x y 1 ] = [ f 0 O x 0 f O y 0 0 1 ] [ x ˉ y ˉ z ] (1) left[ begin{matrix} x \\\\ y \\\\ 1 end{matrix} right] = left[ begin{matrix} f 0 O_x\\\\ 0 f O_y\\\\ 0 0 1 end{matrix} right] left[ begin{matrix} bar{x} \\\\ bar{y} \\\\ z end{matrix} right] tag{1} ​ x y 1 ​ ​ = ​ f 0 0 ​ 0 f 0 ​ O x ​ O y ​ 1 ​ ​ ​ x ˉ y ˉ ​ z ​ ​ ( 1

    2024年02月09日
    浏览(25)
  • 矩阵乘法实现卷积运算

            矩阵根据卷积核的大小进行,从左到右、从上到i 下 的移动,对应数据相乘再相加得到的数据为该区域的值。 ​​​​​​​ ​​​​​​​         原理:根据对于相乘相加的机制,发现通过对卷积核填零构成和输入矩阵大小一致的矩阵,然后展平拼接起来,

    2024年02月12日
    浏览(34)
  • 用Java实现矩阵乘法

    矩阵相乘需注意:         1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。         2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。         3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和 设a为

    2023年04月08日
    浏览(30)
  • 矩阵乘法(C语言实现),超详细

    分别求得两个矩阵的行数a1,b1以及列数a2,b2。 如果a1 == b1,并且a2 == b2则进行乘法运算

    2024年02月05日
    浏览(28)
  • FPGA | Verilog 实现矩阵乘法(附源码)

    使用 for语句实现,后续继续做并行优化… 最近需要用 verilog写一个矩阵乘法的简单模块,本来想着网上随便搜一个复制粘贴一下,却发现居然找不到有源码的(好多还上传到了CSDN资源),罢了罢了,照着Github的自己写一个吧。 我写的是 3 * 3 的、数值位宽为 [3:0] (0-15)的矩

    2024年02月11日
    浏览(24)
  • 基于因特尔OneAPI实现矩阵并行乘法运算

    OneAPI介绍 Intel oneAPI 是一个跨行业、开放、基于标准的统一的编程模型,旨在提供一个适用于各类计算架构的统一编程模型和应用程序接口。其核心思想是使开发者只需编写一次代码,便可在跨平台的异构系统上运行,支持的底层硬件架构包括 CPU、GPU、FPGA、神经网络处理器以

    2024年02月04日
    浏览(26)
  • CUDA:矩阵乘法的实现(Share Memory)

    本文参加2022CUDA on Platform线上训练营学习笔记 矩阵相乘是线性代数的基础,简单来解释就是A矩阵的行与B矩阵所在列相乘之和的结果,CPU端的代码可以采用模拟思想非常好编写, 相信聪明的你一定熟练掌握了矩阵相乘 ,这里就不做多的介绍了 CPU端的代码主要采用了模拟思想,

    2023年04月08日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包