void TEST_Solver_Complex::solve() {
LogStream::Prefix p("Solve");
deallog << "Solving linear system..." << std::endl;
// SparseDirectUMFPACK direct_solver;
// solution = system_rhs;
// direct_solver.solve(system_matrix, solution);
SolverControl solver_control(std::max<std::size_t>(1000,
system_rhs.size() / 10),
1e-10 * system_rhs.l2_norm());
SolverGMRES<Vector<std::complex<double>>> solver(solver_control);
PreconditionJacobi<SparseMatrix<std::complex<double>>> preconditioner;
preconditioner.initialize(system_matrix, 1.0);
solver.solve(system_matrix, solution, system_rhs, preconditioner);
deallog << "Done." << std::endl;
}