我有一个矩阵,我需要有效地计算。可以在不必明确评估逆向的情况下完成吗?
一般来说,我正在寻找计算的方法,这些方法比在 Matlab 中执行以下操作更快:
norm(inv(A))
的近似值或上限的有效方法感兴趣。
有人对此有任何见解吗?
编辑:请注意,矩阵的形式实际上是并且这个条件非常好(因为由于预处理而出现)。我不知道这对的效率是否有任何影响,但我只是想以防万一。
我有一个矩阵,我需要有效地计算。可以在不必明确评估逆向的情况下完成吗?
一般来说,我正在寻找计算的方法,这些方法比在 Matlab 中执行以下操作更快:
norm(inv(A))
的近似值或上限的有效方法感兴趣。
有人对此有任何见解吗?
编辑:请注意,矩阵的形式实际上是并且这个条件非常好(因为由于预处理而出现)。我不知道这对的效率是否有任何影响,但我只是想以防万一。
您可能想要使用以下事实:
其中是最大的奇异值。如果您对细节感兴趣,这个 Math SO 问题应该很有趣。因此,
其中是最小奇异值。
您当然希望避免实际计算逆,并至少通过数值更稳定的Singular Vector Decomposition对其进行更改。不幸的是,它也是一个运算,其中是矩阵的大小。
现在,如果太大,您可能想对估计奇异值甚至条件数的算法感兴趣,因为
这可能是您首先计算的实际动机。
如果您的矩阵恰好是正常的(,那么
其中表示共轭转置,而和的最大和最小特征值。在这种情况下,可以简化一些计算。
相关材料开始:
现在,在实践中使用什么取决于您计算此数量的特定原因、矩阵大小、可用的计算资源以及可能的矩阵结构。