稀疏矩阵基本运算与特征值、特征向量计算
在科学与工程领域,矩阵运算和特征值、特征向量的计算是非常基础且重要的内容。特别是在处理大规模数据时,稀疏矩阵的使用能够显著提高计算效率。本文将详细介绍稀疏矩阵的基本运算以及特征值、特征向量的计算方法。
稀疏矩阵的基本运算
稀疏矩阵在很多实际问题中经常出现,例如图的邻接矩阵。对于无权图的邻接矩阵,如果图是有向的,向量 $i$、$j$(必要时还有 $s$)的长度等于弧的数量 $K$;如果图是无向的,矩阵 $A$ 是对称的,理论上只需要存储下三角部分,但为了方便某些操作,通常存储所有非零元素的索引,此时向量 $i$、$j$ 的长度是边数量的两倍,即 $M = 2K$。
ij 形式的矩阵 - 向量乘法
使用 ij 形式进行矩阵 - 向量乘法比使用完整的邻接矩阵更高效。假设 $x \in R^N$ 是列向量,乘积 $y = Ax$ 可以按以下算法计算:
Algorithm 9 Matrix vector multiplication (ij - form)
Input: i, j, s, x
Output: y = Ax
1: y ←⃗0
2: for k = 0 to M − 1 do
3:
y[i[k]] ← y[i[k]] + s[k] ∗ x[j[k]]
4: end for
这个算法执行 $M$ 次乘法,还需要 $N$ 次操作将向量 $y$ 的所有分量初始化为零,因此所需的操作数为 $M + N$,时间复杂度为 $O(M)$。而使用完整邻接矩阵 $A$ 实现矩阵 - 向量乘法的算法需要
超级会员免费看
订阅专栏 解锁全文

3178

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



