Gaussian Elimination

Solving linear systems is really important, how do we do it quickly?

The most trivial way to solve is with our explicit formula for (calculating determinants recursively), but this is uselessly slow ( if done completely naively)

While the inverse method is nice in theory, Gaussian elimination (the manual method, named after the same dude but unrelated to the distribution), is faster

Let’s be precise about the properties of this algorithm

  1. It works for systems of equations with non-singular coefficient matrices
  2. We can achieve good accuracy by picking “stronger” pivots (larger)

This algorithm runs in and gives an exact solution (barring floating-point errors)

Iterative Methods

Iterative methods are promising because they allow one to improve approximations bit by bit, which allows for flexible trade-offs in time and accuracy

Assume we pick such that is invertible and one can write
We can write where and

This looks like a fixed-point problem, so we attempt the scheme and hope that the error decreases

  1. This scheme relies only on matrix-vector multiplication and addition
  2. If is sparse then we can do this faster
  3. This is only helpful if is cheap to invert

We can quickly derive so we need to show as

To do this, we need to first define a matrix norm

We note that all norms are equivalent,
Theorem: Let , be norms for vectors in , then there exists such that for all

Corollary: as

Example:

We can prove each property relatively easily, for example,

We can further derive some useful identities for this norm,


where is the largest eigenvalue of

Now let’s build up what we need
Does ? If it is diagonalizable, we can write where is diagonalizable and contains the eigenvalues , so




I.e. at least linear convergence if

To obtain our convergence theorem’s error bound, we use a few important properties,

  • for any norm
  • is invertible
  • If , then

Deriving it from here is pretty simple, and I’m going to omit it

Theorem: Let where is non-singular and define by . Then where if and only if . Furthermore, if then .

As we’ve said,
where

This is great because it gives us an error bound, however we still require an easy to compute for the scheme to be practical

One way begins by splitting (lower, diagonal, upper) and defines ,
This is the most trivial solution, since diagonal matrices are very easy to invert, and is called the Jacobi scheme

However, we note that the order on the rows of effects the convergence of our method under the Jacobi scheme! This is bad

We can find that convergence of under the Jacobi scheme rests on strict diagonal dominance of , where the magnitude of each diagonal is greater than the sum of the magnitudes of the remaining values in its row

Theorem: Let be strictly diagonally dominant, then the Jacobi method for solving converges

An alternative to the Jacobi method is the Gauss-Seidel method, which splits into and

Lower triangular matrices are easy to invert and our same theorem applies