我有一个对称矩阵我想将其数字投影到正半定锥上。
为此,我将其分解为并将所有负特征值转换为零。(例如根据这篇文章如何从给定矩阵中找到最近的/接近正定的?)
当我在数值上执行此操作(双精度)时,如果 M 非常大(比如 100*100),我获得的矩阵不是 PSD,(据我说,由于数值不精确)并且我不得不重复该过程很久终于得到一个PSD矩阵。我的问题是:这是正常的副作用吗?如果是这样,是否有我错过的技巧或更好的方法?
非常感谢你的帮助。
我有一个对称矩阵我想将其数字投影到正半定锥上。
为此,我将其分解为并将所有负特征值转换为零。(例如根据这篇文章如何从给定矩阵中找到最近的/接近正定的?)
当我在数值上执行此操作(双精度)时,如果 M 非常大(比如 100*100),我获得的矩阵不是 PSD,(据我说,由于数值不精确)并且我不得不重复该过程很久终于得到一个PSD矩阵。我的问题是:这是正常的副作用吗?如果是这样,是否有我错过的技巧或更好的方法?
非常感谢你的帮助。
计算后和, 形式,并计算,乘以这些矩阵所涉及的算法并不保证将完全是。最常见的是,它们是向后稳定的,并保证实际的浮点输出将是,对于一些小的扰动。实际的扰动在这里并不重要,但它们应该很小。
的对角线条目时,向后稳定性可能仍然允许舍入误差,使其看起来像那些零被非常小的“随机”数字替换。实际上,您可以将其视为计算
如果您将的零替换为一个小数,则用将不再改变其符号,并且特征值将全部为正。这基本上是任何浮点比较的常见问题,其中您比较并且是用舍入误差近似计算的。