Tridiagonal matrix algorithm