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