Listing 6: Example using tridiagonal matrices
int main() { int n = 5; vector<double> offDiag(n-1, -1.0), diag(n, 2.0); tridiagonalMatrix<double> T(n); T.mainDiagonal() = diag; T.subDiagonal() = T.superDiagonal() = offDiag; vector<double> b(n, 5.0); cout << "Solving ..." << endl; vector<double> x = T.solve(b); for (int i=0; i<n; i++) cout << x[i] << endl; cout << endl << "Checking ..." << endl; vector<double> z = T*x; for (i=0; i<n; i++) cout << z[i] << endl; return 0; } //End of File solving ... 12.5 20 22.5 20 12.5 Checking ... 5 5 5 5 5