60、线性方程组算法:稀疏矩阵Cholesky分解与并行实现

线性方程组算法:稀疏矩阵Cholesky分解与并行实现

1. 稀疏下三角矩阵的压缩存储方案

在处理稀疏矩阵时,高效的存储方案至关重要。对于稀疏下三角矩阵L,我们可以使用额外的数组StartRow和Supernode来实现更紧凑的存储。

1.1 StartRow数组的作用

StartRow[j]存储的是列j中第一个非零元素所在行的索引。也就是说,Row[StartRow[j]] = j,因为ljj是第一个非零元素。对于每一列,行索引仍然存储在Row的一个连续块中。与简单方案不同的是,同一超级节点中不同行的块不是不相交的,而是根据这些列的相似稀疏结构重叠。

1.2 超级节点的存储优化

当j是超级节点I(j) = {j, j + 1, …, j + k - 1}的第一列时,对于1 ≤ l < k,列j + l在大于或等于j + l的行中与行j具有相同的非零模式。因此,Row[StartRow[j] + l]包含列j + l的第一个元素的行索引,即Row[StartRow[j] + l] = j + l。列j + l的行索引存储在Row[StartRow[j] + l], …, Row[StartRow[j] + StartColumn[j + 1] - StartColumn[j - 1]]中。这导致StartRow[j + l] = StartRow[j] + l,因此只需存储超级节点第一列的行索引即可获得完整信息。

1.3 Struct(L∗j)的快速访问

通过以下公式可以快速访问Struct(L∗j):
Struct(L∗j) = {Row[StartRow[j] + i]

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值