如何近似一个大矩阵的条件数?


9

如果是傅里叶变换(非均匀或均匀),有限差分和对角矩阵的组合,我如何近似大矩阵的条件数?GGFRS

矩阵很大,不存储在内存中,只能作为函数使用。

特别是,我有以下矩阵:

Gμ=SHFHFS+μRHR

我想研究和条件数之间的关系。μk(Gμ)

我假设有人需要某种迭代方法?最好会有一些MATLAB代码。


1
如何尝试条件编号的定义并使用三角不等式和次乘法性?我想您应该能够对每个矩阵的规范/条件说些什么。这样,您可以获得条件数的估计。Gμ
Anke 2013年

Answers:


11

为此,MATLAB有几个“精确”函数,condrcond,后者返回条件编号的倒数。Matlab近似函数condest将在下面更全面地描述。

通常情况下,条件数的估计是作为矩阵线性系统解的副产品生成的,因此您可能可以将条件数的估计背负在您仍然需要执行的其他工作上。有关如何计算估算值的简要说明,请参见此处。同样,Sandia Labs AztecOO文档说明(请参阅第3.1节)也可以从迭代求解器中获得可选的条件数估计(使用生成的具有共轭梯度的三对角Lanczos矩阵或生成的具有重新启动GMRES的Hessenburg矩阵)。

由于您的矩阵“非常大”并且“仅可用作函数”,因此逻辑方法将是一种在共轭梯度求解器或变体上搭载的方法。

最近arXiv.org纸非平稳极值特征值近似线性系统和估计的相对误差的迭代解决方案提出了这样的方法,并有一些引文早期文献。

现在,我看一下,这个论坛上有很多与之密切相关的先前的问题(并非都与Answers有关,但请查看Comments):

用CG估计极端特征值

估计非常大矩阵的条件数

Matlab / Octave中计算大型矩阵条件数的最快算法


由于MATLAB代码的可用性是Question的一部分,因此,这里有一些信息condest,该函数可以估算1范数条件数。这个想法来自Hager(1984),在此处有2010年的文章及其扩展名,以显式计算(找到一列的最大1-范数)并估算通过渐变方法。另请参阅John Burkardt的CONDITION,这是一个MATLAB库(其他可用语言),“用于计算或估计矩阵的条件数”。A1A11A1A11

由于您的矩阵显然是Hermitian且为正定的,因此2范式条件数可能会引起更大的兴趣。那么问题就在于估计最大(最小)特征值与最小(绝对)特征值之比。该挑战在某种程度上与1-范数情况相似,因为通常可以轻松地获得对最大特征值的良好估计,但是对最小特征值的估计却更加困难。

尽管针对非SPD(甚至非平方)情况,最近的arXiv.org论文《可靠的迭代条件数估计》很好地概述了最小特征值估计问题以及Krylov子空间的有希望的攻击路线方法(LSQR)在SPD情况下等于共轭梯度。


谢谢您的回答。如何获得条件数作为共轭梯度求解器的副产品?
Stiefel

@Stiefel:1992年有一篇雷光耀关于极限特征值的近似计算和非奇异矩阵的条件数的论文。让我看看是否可以找到更好的参考(不在付费专区后面)。
hardmath 2013年

@Stiefel:添加了一些链接。您可能也有兴趣检查Google图书(或图书馆)中的Owe Axelsson的“ 迭代解决方法”(1996),尤其是。小伙子 13 共轭梯度法的收敛速度,尽管重点是要获得比单独的条件数更好的对收敛所需迭代次数的估计。
hardmath 2013年

1
@Stiefel用您这样的名字,您应该向我们介绍CG方法:)请参阅en.wikipedia.org/wiki/Eduard_Stiefel
stali 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.