线性子空间上的稀疏最小特征值问题?

计算科学 线性代数 本征系统
2021-11-26 07:53:44

我对解决优化问题的方法感兴趣

argminxxTAxs.t.xTx=1Bx=0

在哪里A是对称且满秩的,具有良好分离的特征值,并且B有一个非平凡的零空间。换句话说,我想限制A到零空间B并找到最小特征值对应的特征向量。在没有线性约束的情况下,这个问题是一个标准的特征值问题,可以使用幂迭代来解决。理想情况下,我想找到一个类似的(迭代)过程,因为在我的情况下,我可以通过首先计算一个稀疏分解来获得很多性能A(并且可能B以及)。

我对解决密集问题的方法不感兴趣,也不对“只使用软件包 X”的答案感兴趣;我有兴趣自己实施该方法。出于这个原因,首选简单的方法,甚至优于可能稍微更好/更快/更健壮的方法。

我知道 Gene Golub 的论文“Some Modified Matrix Eigenvalue Problems”,但没有看到在稀疏情况下有效地结合广义逆的方法。我也知道这个问题,但不想依赖复杂的求解器来解决广义特征值问题;我真的在寻找与 power 方法“没有太大不同”的东西。

谢谢!

2个回答

您主要关心的不是破坏稀疏性 - 转换不一定会破坏它。考虑转换后的特征值问题,它消除了约束xTx=1

minxxTAxxTxs.t.Bx=0

考虑一个矩阵Z这是零空间的基础B, IEBZ=0. 然后,限制x在零空间中B作为x=Zy,特征值问题现在变成了一个无约束的优化问题

minyyTZTAZyyTZTZy

这个问题的最小者是广义特征值问题的最小特征值对应的特征向量

ZTAZy=λZTZy

为了解决这个特征值问题,不必形成ZTAZ并破坏稀疏性(这是您关心的问题)。只需将矩阵向量乘积与ZTAZ,这可以依次完成。如何形成Zx? 一种可能性是考虑使用置换矩阵进行分区P这样Bp等级条件良好m, 在哪里BRm×n

BP=[Bp,Bn]Z=P[Bp1BnI]
在实践中一个不会反转Bp但计算稀疏 LU 分解。一旦你知道如何形成Zx,可以使用任何基于 Krylov 的广义特征值特征值求解器(它们的收敛性通常优于幂法)。本文第 6 节(零空间方法)讨论了其他可能性http://mathcs.emory.edu/~benzi/Web_papers/bgl05.pdf

这是实现特征求解器的模板的一个很好的来源 - 你可以选择你最喜欢的http://web.eecs.utk.edu/~dongarra/etemplates/node155.html

没有人回答这个问题,所以让我尝试一下。我不太清楚如何准确地解决这个问题,但这是一种应该有效的方法。

让我们假设你有一个零空间的基础,并且它形成了矩阵的列Z, IE,BZ=0. 然后考虑特征值问题

argminxεxεTAxε+1εxεTZTZxεs.t.xεTxε=1
如果你考虑极限ε0, 那么任何不在零空间中的向量B产生一个无限的目标函数,你只会得到你关心的那些特征值。

除此之外,让我指出另一个想法(尽管我对特征谱求解器的数值实现知之甚少,无法真正对此多说)。即,当您计算第二个、第三个等时,L矩阵的特征值A, 那么这通常写成

argminxxTAxεs.t.xεTxε=1xTv1=0xTvL1=0
换句话说,您尝试在子空间中最小化。这与您想要做的没有什么不同,只是您的子空间不是由先前的特征向量给出v1,,vL1但根据你的零空间Z.