条件数

维基百科,自由的百科全书
跳转至: 导航搜索

数值分析中,一个问题的条件数是该数量在数值计算中的容易程度的衡量,也就是该问题的适定性。一个低条件数的问题称为良置的,而高条件数的问题称为病态(或者说非良置)的。

矩阵条件数[编辑]

例如,线性方程Ax = b的条件数给出了数值求解得到一个解x有多不精确的一个上限。

条件数也会增大b中存在的误差。这个放大的程度可以使得一个低条件数的系统(通常是件好事情)变得不精确而使得一个高条件数的系统(通常是件坏事情)变得精确,这取决于b的数据知道得多清楚。对于这个问题,条件数定义为

\Vert A^{-1}\Vert \cdot \Vert A\Vert,

在任何自洽的矩阵范数中。这个数字经常在数值线性代数中出现,因而单独有个名字,称为矩阵条件数

\kappa (A) = \Vert A^{-1}\Vert \cdot \Vert A\Vert.

当然,这个定义依赖于范数的选取。

\kappa(A) = \frac{\sigma_{max}(A)}{\sigma_{min}(A)} 其中\sigma_{max}(A)\sigma_{min}(A)分别是A的极大和极小奇异值。因此
\kappa(A) = \left|\frac{\lambda_{max}(A)}{\lambda_{min}(A)}\right| (\lambda_{max}(A),\ \lambda_{min}(A)分别是A的极大和极小(根据模数)特征值
\kappa(A) = 1

其它意义下的条件数[编辑]

奇异值分解,多项式求根,特征值和其它许多问题的条件数也可以有定义。

通常,如果一个数值问题是适定的,它可以表达为一个函数f映射它的数据(一个实数的m元组x)到它的解(一个实数的n元组y)。

它的条件数则定义为解中的相对误差的半径和数据中的相对误差的比的最大值,取遍整个问题的定义域:

\max \left\{ \left| \frac{f(x) - f(x^*)}{f(x)} \right| \left/ \left| \frac{x - x^*}{x} \right| \right. : |x - x^*| < \epsilon \right\}

其中\epsilon是问题中的数据的偏差的某个合理的小数值。

如果f也是可微的,这可以近似的表示为

\left| \frac{ f'(x) }{ f(x) } \right|. \left| x \right| .