矩阵乘法

概述

矩阵乘法(Matrix Multiplication)是线性代数和算法中的基本运算。两个 矩阵相乘的朴素算法时间复杂度为 。通过Strassen 算法等分治方法可优化至 ,Coppersmith-Winograd 算法进一步优化至 。矩阵乘法在图算法(如 Floyd-Warshall)和线性方程组求解中有重要应用。

定义

矩阵乘法(Matrix Multiplication)

给定两个 矩阵 ,其乘积 也是一个 矩阵,其中:

朴素算法需要计算 个元素,每个元素需要 次乘法和 次加法,总时间复杂度为

核心性质

性质描述备注
不满足交换律(一般情况)与标量乘法不同
满足结合律可以任意改变计算顺序
分配律矩阵乘法对加法的分配律
朴素复杂度三重循环的基本实现
Strassen 优化分治方法,减少乘法次数
理论最优(2023 年最新结果)实际应用中仍常用朴素或 Strassen

算法复杂度对比

算法时间复杂度特点
朴素算法实现简单,常数因子小
Strassen分治法, 较大时优于朴素
Coppersmith-Winograd理论突破,实际不实用
最新理论结果纯理论意义

应用场景

  • 图的最短路径:Floyd-Warshall 算法本质上是矩阵乘法的变体( 半环上的矩阵乘法)
  • 线性方程组求解 的求解涉及矩阵运算
  • 计算机图形学:变换矩阵的复合(旋转、缩放、平移)
  • 机器学习:神经网络的前向传播本质上是矩阵乘法
  • 密码学:某些加密算法使用矩阵运算

参见