// misc. boost includes #include #include "trisolve.h" // boost ublas includes #include #include #include #include #include #include // system includes #include #include using namespace boost::numeric::ublas; int main ( int argc, char* argv[]) { int iterations = atoi (argv[1]); int gatesperpath = atoi (argv[2]); boost::timer t; { t.restart(); unsigned int i = 0; double j; identity_matrix ident (gatesperpath); compressed_matrix lembda1 (gatesperpath, gatesperpath); lembda1 (3, 1) = -0.1; vector omegas(gatesperpath); vector slopes; int iter = iterations; while (iter--) { // (I+lembda) slopes = omegas slopes = solve (lembda1, omegas, unit_lower_tag ()); } std::cout << t.elapsed () << std::endl; } { t.restart(); unsigned int i = 0; double j; identity_matrix ident (gatesperpath); compressed_matrix lembda1 (gatesperpath, gatesperpath); lembda1 (3, 1) = -0.1; vector omegas(gatesperpath); vector slopes; int iter = iterations; while (iter--) { // (I+lembda) slopes = omegas slopes = omegas; inplace_solve_lower(lembda1, slopes, row_major_tag() ); } std::cout << t.elapsed () << std::endl; } return 0; }