Decompositions & applications

condition number

The condition number is a single number that tells you how trustworthy the answer to A*x = b will be when the data carries small errors (and real data always does). A small condition number, near 1, means the problem is well-behaved: small wiggles in b cause only small wiggles in the answer x. A large condition number warns you that tiny input errors can blow up into huge swings in the result, a situation called ill-conditioned.

The cleanest definition comes from the SVD: the condition number is the ratio of the largest singular value to the smallest, kappa = sigma_max / sigma_min. When the smallest singular value is close to zero, the matrix is nearly singular (almost non-invertible), the ratio explodes, and the matrix barely stretches space in one direction, so undoing it dramatically amplifies any error.

It is important to be clear: a large condition number is a property of the problem, not a bug in your software. No clever algorithm can fully rescue an ill-conditioned system, because the sensitivity is baked into the matrix itself. The practical lesson is to watch the condition number and, where possible, reformulate so it stays small.

kappa(A) = sigma_max / sigma_min (large kappa => nearly singular, ill-conditioned)

If kappa is about 10^6, expect to lose roughly 6 digits of accuracy in the answer.

A large condition number is a property of the problem itself, not something a better algorithm can fully fix.

Also called
matrix condition number条件数條件數kappaconditioning病态指标