Assembly::Copy::Data ());
test_matrix.add(-1, reference_matrix);
- const double frobenius_norm = test_matrix.frobenius_norm();
- // the data should add up exactly (unfortunately, there is some roundoff due
- // to the cell similarity detection, but there should not be any similarity
- // for the hypershell geometry)
- deallog << "log error in matrix norm: " << std::log(frobenius_norm) << std::endl;
+ // there should not even be roundoff difference between matrices
+ deallog.threshold_double(1.e-30);
+ deallog << "error in matrix: " << test_matrix.frobenius_norm() << std::endl;
test_rhs.add(-1., reference_rhs);
- deallog << "log error in vector norm: " << std::log(test_rhs.l2_norm()) << std::endl;
+ deallog << "error in vector: " << test_rhs.l2_norm() << std::endl;
}
logfile << std::setprecision (2);
deallog.attach(logfile);
deallog.depth_console(0);
- deallog.threshold_double(1.e-8);
{
deallog.push("2d");
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
tasks.join_all();
test_matrix.add(-1, reference_matrix);
- const double frobenius_norm = test_matrix.frobenius_norm();
- // the data should add up exactly (unfortunately, there is some roundoff due
- // to the cell similarity detection, but there should not be any similarity
- // for the hypershell geometry)
- deallog << "log error in matrix norm: " << std::log(frobenius_norm) << std::endl;
+ // there should not even be roundoff difference between matrices
+ deallog.threshold_double(1.e-30);
+ deallog << "error in matrix 1: " << test_matrix.frobenius_norm() << std::endl;
test_rhs.add(-1., reference_rhs);
- deallog << "log error in vector norm: " << std::log(test_rhs.l2_norm()) << std::endl;
+ deallog << "error in vector 1: " << test_rhs.l2_norm() << std::endl;
+ // multiplied by PI there can be roundoff differences
+ deallog.threshold_double(1.e-10);
test_matrix_2.add(-numbers::PI, reference_matrix);
- deallog << "absolute error matrix assembly 2: " << test_matrix_2.frobenius_norm() << std::endl;
+ deallog << "error in matrix 2: " << test_matrix_2.frobenius_norm() << std::endl;
test_rhs_2.add(-numbers::PI, reference_rhs);
- deallog << "absolute error vector assembly 2: " << test_rhs_2.l2_norm() << std::endl;
+ deallog << "error in vector 2: " << test_rhs_2.l2_norm() << std::endl;
}
logfile << std::setprecision (2);
deallog.attach(logfile);
deallog.depth_console(0);
- deallog.threshold_double(1.e-8);
{
deallog.push("2d");
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
DEAL:2d::absolute error matrix assembly 2: 0
DEAL:2d::absolute error vector assembly 2: 0
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
DEAL:2d::absolute error matrix assembly 2: 0
DEAL:2d::absolute error vector assembly 2: 0
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
DEAL:2d::absolute error matrix assembly 2: 0
DEAL:2d::absolute error vector assembly 2: 0
for (unsigned int j=0; j<2; ++j)
frobenius_norm += test_matrix.block(i,j).frobenius_norm();
- deallog << "log error in matrix norm: " << std::log(frobenius_norm) << std::endl;
+ // there should not even be roundoff difference between matrices
+ deallog.threshold_double(1e-30);
+ deallog << "error in matrix: " << frobenius_norm << std::endl;
test_rhs.add(-1., reference_rhs);
- deallog << "log error in vector norm: " << std::log(test_rhs.l2_norm()) << std::endl;
+ deallog << "error in vector: " << test_rhs.l2_norm() << std::endl;
}
logfile << std::setprecision (2);
deallog.attach(logfile);
deallog.depth_console(0);
- deallog.threshold_double(1.e-8);
{
deallog.push("2d");
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:2d::log error in matrix norm: -inf
-DEAL:2d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
-DEAL:3d::log error in matrix norm: -inf
-DEAL:3d::log error in vector norm: -inf
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:2d::error in matrix norm: 0
+DEAL:2d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
+DEAL:3d::error in matrix norm: 0
+DEAL:3d::error in vector norm: 0
tasks.join_all();
test_matrix.add(-1, reference_matrix);
- const double frobenius_norm = test_matrix.frobenius_norm();
- deallog << "absolute error in matrix norm: " << frobenius_norm << std::endl;
+ deallog << "error in matrix 1: " << test_matrix.frobenius_norm() << std::endl;
test_rhs.add(-1., reference_rhs);
- deallog << "absolute error in vector norm: " << test_rhs.l2_norm() << std::endl;
+ deallog << "error in vector 1: " << test_rhs.l2_norm() << std::endl;
test_matrix_2.add(-numbers::PI, reference_matrix);
- deallog << "absolute error matrix assembly 2: " << test_matrix_2.frobenius_norm() << std::endl;
+ deallog << "error in matrix 2: " << test_matrix_2.frobenius_norm() << std::endl;
test_rhs_2.add(-numbers::PI, reference_rhs);
- deallog << "absolute error vector assembly 2: " << test_rhs_2.l2_norm() << std::endl;
+ deallog << "error in vector 2: " << test_rhs_2.l2_norm() << std::endl;
}
logfile << std::setprecision (2);
deallog.attach(logfile);
deallog.depth_console(0);
- deallog.threshold_double(1.e-8);
+ deallog.threshold_double(1.e-10);
{
deallog.push("2d");