两个矩阵之间的比较

计算科学 线性代数 矩阵 密集矩阵
2021-12-01 09:49:50

我有一个大的密集矩阵A. 为了简化模拟目的和应用需求,我通过用零替换较低/不重要的值并以块对角线形式重新排序来诱导稀疏性,例如A^. 我如何衡量我在这个过程中丢失了多少信息?矩阵的什么性质代表它的信息索引。(它不能是距离,因为我重新排序元素)非常感谢你提前。

2个回答

判断信息丢失的方法有多种。最简单的方法是计算所谓的稀疏矩阵的 Frobenius 范数A^和一个原始的密集矩阵。

||A||F=ij|aij|2

Frobenius 范数中的相对误差可以告诉您相对下降了多少:

ErrorF=||AA^||F||A||F

此外,Frobenius 范数与矩阵的光谱特性有很好的联系,这可能很有用:||A||2||A||F.

然而,仅仅判断“元素方面”并不是很好,只是简单地将所谓的小块和无关紧要的块归零。我将从绘制原始矩阵的奇异值开始,并将它们与近似值进行比较。这将允许您判断您是如何更改频谱属性的。

最后,我建议您查看各种允许快速矩阵代数进行类似近似的技术,例如H-矩阵(http://www.hmatrix.org/)、HSS(分层半可分离)等,而不是仅仅将矩阵条目降低到某个阈值以下。但是,对于您的应用程序,您的方法可能足够准确。

您正在扰乱初始系统。如果你想解决系统Au=f

通过扰乱你解决的系统

(A+ΔA)(u+Δu)=f

因此,

ΔAΔu=f

Δu=ΔA1f

对于一个次乘范数|| ||

||Δu||=||ΔA1f||

||Δu||<||ΔA1|| ||f||

范数可以给出扰动影响的上限。