prec_bjacobi.initialize(A, bperm, ibperm, prec_data);
PreconditionBlockSOR<SparseMatrix<double>,double> prec_bsor;
prec_bsor.initialize(A, bperm, ibperm, prec_data);
+ PreconditionBlockSOR<SparseMatrix<double>,double> prec_bsor2;
+ prec_bsor2.initialize(A, prec_data);
+ prec_bsor2.set_permutation(bperm, ibperm);
PreconditionBlockSSOR<SparseMatrix<double>,double> prec_bssor;
prec_bssor.initialize(A, bperm, ibperm, prec_data);
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
r2 = check_solve(relax,A,u,f,prec_bsor);
deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
+ r2 = check_solve(relax,A,u,f,prec_bsor2);
+ deallog << "diff " << std::fabs(r1-r2)/r1 << std::endl;
deallog.pop();
deallog.push("SSOR ");
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 24.60
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 24.60
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 21.41
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 23.66
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 23.66
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 19.22
DEAL:SSOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Starting value 32.00
DEAL:SOR :Relaxation::Failure step 10 value 22.95
DEAL:SOR ::diff 0
+DEAL:SOR :Relaxation::Starting value 32.00
+DEAL:SOR :Relaxation::Failure step 10 value 22.95
+DEAL:SOR ::diff 0
DEAL:SSOR :Richardson::Starting value 32.00
DEAL:SSOR :Richardson::Failure step 10 value 17.41
DEAL:SSOR :Relaxation::Starting value 32.00