#include #include using namespace std; using namespace arma; /* Program to solve * * | 1 4 0 0 | | x1 | | 8 | * | 3 4 1 0 | | x2 | = | 4 | * | 0 2 3 4 | | x3 | | 2 | * | 0 0 1 3 | | x4 | | 4 | * * using armadillo library. To compile on cobra do * * g++ tridiag.cc -larmadillo * */ int main(int argc, char** argv) { mat A = zeros(4,4); vec b = zeros(4); vec x = zeros(4); vec::iterator vec_begin = x.begin(); vec::iterator vec_end = x.end(); A(0,0)=1.0; A(0,1)=4.0; A(1,0)=3.0; A(1,1)=4.0; A(1,2)=1.0; A(2,1)=2.0; A(2,2)=3.0; A(2,3)=4.0; A(3,2)=1.0; A(3,3)=3.0; b(0) = 8.0; b(1)=4.0; b(2)=2.0; b(3)=4.0; x = solve(A, b); for (vec::iterator i=vec_begin; i!=vec_end; i++ ) { cout << *i << endl; } return 0; }