对于方程组(1)
其精确解是x=1.0,y=0.0 。如图所示,点(1.0,0.0)是方程组所表示的两条直线的交点。
对于方程组(2)
其精确解是x=-1.5,y=0.5 。如图所示,点(-1.5,0.5)是方程组所表示的两条直线的交点。
现假设方程组(1)的系数a11产生了1%的相对误差,即3.00变成了3.03 。那么方程组的解变成了x=0.995,y=0.008,几乎和原来的解相同。假设方程组(2)的系数a11产生了1%的相对误差,即1.00变成了1.01 。那么方程组的解变成了x=1.789,y=0.193,和原方程组相比,发生了很大的变化,由此可见,方程组(2)对系数误差非常敏感。
实际上,方程组(2)所表示的两条直线几乎是相互平行的,所以方程组系数的微小变化都会使他们的交点产生较大变化。像方程组(2)这样的因系数的很小改变却导致解改变很大的方程组,称为病态方程组,称相应的系数矩阵A为病态矩阵。病态方程组对任何算法都将产生数值不稳定性。对病态方程组有四种处理原则:采用高精度的数值运算;采用预处理方法;采用特殊的数值解法或寻找出现病态的原因,改变原问题的提法。