基于Peano曲线的缓存无关矩阵运算与周期性矩阵方程求解
在矩阵运算领域,高效的算法对于提升计算性能至关重要。本文将介绍基于Peano曲线的缓存无关矩阵运算,以及用于求解周期性三角Sylvester型矩阵方程的递归分块算法。
1. 基于Peano曲线的矩阵乘法
仅考虑矩阵块的排序方案时,会得到八种不同类型的块乘法:
- (P += PP)
- (Q += QP)
- (R += PR)
- (S += QR)
- (P += RQ)
- (Q += SQ)
- (R += RS)
- (S += SS)
这八种块乘法都会产生与特定方程类似的乘法方案,并生成固有的局部执行顺序。由此可得到一个包含八种块乘法方案的封闭系统,该系统可通过嵌套递归过程来实现。这种算法在缓存效率方面有以下有趣特性:
1. 在理想缓存中,缓存缺失的数量渐近最小。
2. 在任何递归级别,使用矩阵块后,要么直接重用该块,要么接下来访问其空间上的直接相邻块。
3. 可获得精确的预取信息。
通过Peano曲线才能获得具有如此严格局部性的块递归方案。
2. LU分解的块递归方案
基于上述编号方案,可尝试为LU分解建立块递归算法。考虑以下分块矩阵的分解:
(\begin{pmatrix}
PL0 & 0 & 0 \
QL1 & SL4 & 0 \
PL2 & RL3 & PL8
\end{pmatrix}
\begin{pmatrix}
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



