Add tridiagonal solver. Thomson doesn't seem correct