Mathematica's built-in SparseArray function should be used to create tridiagonal matrices.
Mathematica kernel's built-in sparse solver LinearSolve has replaced TridiagonalSolve as a faster solver of tridiagonal matrices.
Suggestion for replacing Tridiagonal
This loads the package in Version 5.2:
Version 5.2
This defines the list that will give the nonzero diagonals of a matrix:
Version 5.2
{a, b, c} = {{7, 1, 11}, {4, 8, 2, 12}, {5, 9, 3}};Here is the matrix m constructed from the list:
Version 5.2
m = SparseArray[{Band[{1, 2}] -> c, Band[{1, 1}] -> b, Band[{2, 1}] -> a}, 4]This displays the matrix using MatrixForm:
Version 5.2
MatrixForm[Normal[m]]Mathematica kernel's built-in sparse solver LinearSolve should be used in place of TridiagonalSolve:
Version 5.2
LinearSolve[m, {2, 3, 4, 5}]