首页 > 其他分享 >矩阵分块乘法

矩阵分块乘法

时间:2024-10-07 11:43:49浏览次数:6  
标签:分块 int 矩阵 乘法 col row

矩阵分块乘法 通常可以把一个矩阵分成多个块, 例如,

 (6-4)

可以将其划分为 4个块:   

 (6-5)

  

 (6-6)

分块后的矩阵记为:

(6-7) 分块矩阵乘法如下所示:

(6-7)

划分不一定需要完全等间隔, 只需要满足子矩阵乘法规则即可, 如图6-27所示。 图6-27 子矩阵划分不一定需要完全等间隔, 只需要满足子矩阵乘法规则 给定一个的矩阵切分为 行 列。

 (6-8)

另一个的矩阵切分为行列。

 (6-9)

则它们的乘积计算如下:

 (6-10)

相应的乘法循环,代码如下。 for (int m = 0; m < M; m += Mtile)                //在M维上迭代
    for (int n = 0; n < N; n += Ntile)            //在N维上迭代
        for (int k = 0; k < K; ++k)
            for (int i = 0; i < Mtile; ++i)       // 计算一个图块 
                for (int j = 0; j < Ntile; ++j) {
                    int row = m + i;
                    int col = n + j;
                    C[row][col] += A[row][k] * B[k][col];
                }  

标签:分块,int,矩阵,乘法,col,row
From: https://www.cnblogs.com/wujianming-110117/p/18449868

相关文章

  • 矩阵写法
    template<intN,intM,classT=longlong>structmatrix{ intm[N][M]; matrix(){memset(m,0,sizeof(m));} voidinit(){for(inti=0;i<N;i++)m[i][i]=1;} friendbooloperator!=(matrix<N,M>x,matrix<N,M>y){ for(inti=0;i&l......
  • 【py】python实现矩阵的加、减、点乘、乘法
    好的,我将使用Python语言来解决这个问题。我们将使用NumPy库来创建数组和进行矩阵运算。以下是完整的代码:importnumpyasnp#(1)创建一个3x4的二维数组test1,数据值要求从0~1之间test1=np.random.rand(3,4)#(2)创建12个服从均匀分布的随机数,尺寸为3x4的二维数组t......
  • 使用鼠标点击矩阵上下左右的数字初始化为1 计算所需总共点击次数矩阵所有数字变成1的
    1importjava.util.ArrayList;23publicclassHuaweiTest2{4publicstaticvoidmain(String[]args){5//System.out.println("HelloWorld!");6}78publicstaticIntegergetMilliSecondsForInputInicialize......
  • 代码随想录算法训练营Day2|209.长度最小的子数组 59.螺旋矩阵
    学习资料:https://programmercarl.com/数组总结篇.html#数组的经典题目移动窗格,首尾指针根据条件变化模拟行为,循环不变量(左闭右闭或左闭右开)整个过程保持一致学习记录:209.长度最小的子数组(用while使得尾指针遍历全部;用while实现,当[首:尾]之和>目标值,才移动首指针;为了求最小长度......
  • 行列式求法和矩阵树定理
    1.矩阵树定理无向图,有n个点,如果说i-j之间有连边,那么矩阵g[i][j]=g[j][i]=-1(i-j之间的边的数量),否则值为0矩阵上对角线上的值为该点的度数,g[i][i]=d[i];生成树个数:任选i,去掉i行i列之后的行列式的值生成树的权值=边权的乘积,所有生成树的权值之和?i-j之间右边,g[i][j]=......
  • [Violet] 蒲公英(分块)
    区间众数要求即有次数又要数字最小#include<bits/stdc++.h>usingnamespacestd;#definexfirst#defineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefunsignedintuint;typedefvector<string>VS;typedef......
  • P1939 矩阵加速
    P1939矩阵加速已知一个数列\(a\),它满足:\[a_x=\begin{cases}1&x\in\{1,2,3\}\\a_{x-1}+a_{x-3}&x\geq4\end{cases}\]求\(a\)数列的第\(n\)项对\(10^9+7\)取余的值。对于\(100\%\)的数据\(1\leqT\leq100\),\(1\leqn\leq2\times......
  • 手把手实现完善矩阵类(分数数据类型)
    矩阵类功能:矩阵变换分数数据类型使得精度丢失率极低加,减,数乘,矩阵相乘,转置,幂次,初等变换伴随矩阵,逆矩阵,矩阵行列式的值,后方增添/删除矩阵,矩阵的秩获取并输出齐次/非齐次线性方程组的解向量演示:矩阵输出,初等行变换后输出,解向量输出实现矩阵类,如何适应不同数据类型?模板?对......
  • 【状态估计】健康状态 SOH采用平均加权最小二乘法(AWTLS)进行估计,并对比了加权最小二乘
         ......
  • 14、图-邻接矩阵
    1、邻接矩阵的定义和初始化#include<stdio.h>#include<malloc.h>#include<assert.h>#defineDefault_Vertices_Size10//顶点#defineTchar//无向不带权的图typedefstructGraphMtx{intMaxVertices;//最大的顶点数intNumVertices;//真实的顶点数......