把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

矩阵乘法

矩阵乘法

矩阵计算

加减法

要求:两个矩阵的长宽相同。

结果:每一个位置相加。

乘法

常数乘以矩阵

一个数 \(x\) 乘以矩阵 \(a\),那么等同于 \(a\) 中的每一个元素乘以 \(x.\)

矩阵乘以矩阵

要求:矩阵 \(a\)和矩阵 \(b\) 相同,即 \(a\) 的大小为 \(n,m\),则 \(b\) 的大小为 \(m,u.\)

计算公式:\(c_{i,j}=\sum_{k=1}^m a_{i,k}\times b_{k,j}.\)

不难得到以下代码:

for (int i = 1;i <= n;i ++)// a行
   	for (int j = 1;j <= u;j ++)// b列
        for (int k = 1;k <= m;k ++)// a列,b行
            c[i][j] = a[i][k] * b[k][j];

尽管这样的时间复杂度是 \(\mathcal{O}(n^3)\) 的,但是有更快的Strassen算法的改进复杂度,但对比赛作用不大(除了卡常)。

根据定义可以推出:结合律;分配律;但是没有交换律。

广义矩阵乘法

这是一个十分重要的内容,可以用于加速 \(dp.\)

但是其也是 动态 dp 的一种,所以放在 \(dp\) 内容,链接:动态dp

posted @ 2024-10-31 22:51  high_skyy  阅读(12)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end