稀疏对称矩阵的LDLT分解在GPU上的高效实现
陈鑫峰,王武

An Effective Implementation of LDLT Decomposition of Sparse Symmetric Matrix on GPU
Chen Xinfeng,Wang Wu
算法3. 确定填充元的位置
1: // 为x和s分配内存,大小均为n
2: // c数组存储L矩阵每一列在Lx的起始位置
3: for k = 0 to n -1 do
4: Lp[k] = c[k];
5: top = ereach(C, k, parent, s,c);
//获取L矩阵第k行的非零结构
6: x[k] = 0
7: for p = Cp[k] to Cp[k + 1] do
8: if Ci[p] ≤ k then
9: x[Ci[p]] = Cx[p];
10: end if
11: end for
12: // s[top...n-1] 为L矩阵第k行的非零结构
13: for top to n-1 do
14: i = s[top];
15: p = c[i]++;
16: Li[p] = k; //在L矩阵的第i列存储Lki
17: Lx[p] = x[i];
18: x[i] = 0; //为第k+1行清除x
19: end for
20: //存储Lkk
21: p = c[k]++;
22: Li[p] = k;
23: Lx[p] = x[k];
24: x[k] = 0;
25: end for
26: Lp[n] = c[n-1];