更新拉普拉斯因式分解(添加/删除边)

计算科学 线性代数 线性求解器 稀疏矩阵 图论 矩阵分解
2021-12-02 00:21:46

对于图表G=(V,E),回想一下未加权的拉普拉斯算子是L:=DD, 在哪里D{1,0,1}|E|×|V| 是将相邻顶点值减去到边上的图形“梯度”算子。

我正在编写一种算法,可以一次向图形添加/删除边。在每次迭代中,我需要申请L+到几个向量,其中L+是的 Moore-Penrose 伪逆L对于当前图表。我可以重新计算L及其在每次迭代中的伪逆,但这在计算上是昂贵的!

添加/删除边缘E将等级 1 更改为L. 所以,看起来我们可以更新一个稀疏分解(Cholesky?LDLT?)L并以此来加速应用L+. 是否有易于使用的算法?


笔记:

我一直在努力应用标准的 Matlab 调用。挑战包括以下事实:L总是有一个空空间(常量函数),G可能不是连通图,删除边是 rank-1 但减法更新。

如果你有一个指向现有代码库的指针,那就加分吧!

本文展示了在添加边时如何更新拉普拉斯算子的伪逆。但它没有显示删除边缘时要做什么(也许这是一个简单的扩展,但我没有看到它!),并且伪逆是我想避免存储的密集矩阵。

0个回答
没有发现任何回复~