Normal equations

From HandWiki


We consider the problem Hepa img747.gif , where A is an (m,n) matrix with Hepa img411.gif , rank(A) = n, b is an (m,1) vector, and x is the (n,1) vector to be determined.

The sign Hepa img359.gif stands for the least squares approximation, i.e. a minimization of the norm of the residual r = Ax - b

Hepa img748.gif

or the square

Hepa img749.gif

i.e. a differentiable function of x. The necessary condition for a minimum is:

Hepa img750.gif

These equations are called the normal equations , which become in our case:

Hepa img751.gif

The solution Hepa img752.gif is usually computed with the following algorithm:

First (the lower triangular portion of) the symmetric matrix Hepa img129.gif is computed, then its Cholesky decomposition Hepa img753.gif . Thereafter one solves Hepa img754.gif for y and finally x is computed from Hepa img126.gif .

Unfortunately Hepa img129.gif is often ill-conditioned and strongly influenced by roundoff errors (see Golub89). Other methods which do not compute ATA and solve Hepa img747.gif directly are QR decomposition and singular value decomposition.