int n = 10000; VectorXd x(n), b(n); SparseMatrix A(n,n); /* ... fill A and b ... */ BiCGSTAB > solver(A); // start from a random solution x = VectorXd::Random(n); solver.setMaxIterations(1); int i = 0; do { x = solver.solveWithGuess(b,x); std::cout << i << " : " << solver.error() << std::endl; ++i; } while (solver.info()!=Success && i<100);