From 39907dae57daa288cc2c164d1b095cc336c4fadc Mon Sep 17 00:00:00 2001
From: Felix Schindler <felix.schindler@wwu.de>
Date: Wed, 22 Nov 2017 18:32:30 +0100
Subject: [PATCH] [eigen-solver] rename "ensure_" -> "assert_" in options

---
 dune/xt/la/eigen-solver/internal/base.hh | 83 ++++++++++++------------
 1 file changed, 42 insertions(+), 41 deletions(-)

diff --git a/dune/xt/la/eigen-solver/internal/base.hh b/dune/xt/la/eigen-solver/internal/base.hh
index 31ef4e2ac..a41a1e107 100644
--- a/dune/xt/la/eigen-solver/internal/base.hh
+++ b/dune/xt/la/eigen-solver/internal/base.hh
@@ -53,13 +53,13 @@ static Common::Configuration default_eigen_solver_options()
   opts["compute_eigenvalues"] = "true";
   opts["compute_eigenvectors"] = "true";
   opts["check_for_inf_nan"] = "true";
-  opts["real_tolerance"] = "1e-15"; // is only used if the respective ensure_... is negative
-  opts["ensure_real_eigenvalues"] = "-1"; // if positive, this is the check tolerance
-  opts["ensure_positive_eigenvalues"] = "-1"; // if positive, this is the check tolerance
-  opts["ensure_negative_eigenvalues"] = "-1"; // if positive, this is the check tolerance
-  opts["ensure_real_eigenvectors"] = "-1"; // if positive, this is the check tolerance
-  opts["ensure_eigendecomposition"] = "1e-10"; // disabled, if negative
-  opts["ensure_real_eigendecomposition"] = "-1"; // if positive, this is the check tolerance
+  opts["real_tolerance"] = "1e-15"; // is only used if the respective assert_... is negative
+  opts["assert_real_eigenvalues"] = "-1"; // if positive, this is the check tolerance
+  opts["assert_positive_eigenvalues"] = "-1"; // if positive, this is the check tolerance
+  opts["assert_negative_eigenvalues"] = "-1"; // if positive, this is the check tolerance
+  opts["assert_real_eigenvectors"] = "-1"; // if positive, this is the check tolerance
+  opts["assert_eigendecomposition"] = "1e-10"; // if positive, this is the check tolerance
+  opts["assert_real_eigendecomposition"] = "-1"; // if positive, this is the check tolerance
   return opts;
 } // ... default_eigen_solver_options(...)
 
@@ -236,9 +236,10 @@ public:
     }
     invert_eigenvectors();
     assert(eigenvectors_inverse_ && "This must not happen after calling invert_eigenvectors()!");
-    const double check_eigendecomposition = options_.get<double>("ensure_eigendecomposition");
-    complex_eigendecomposition_helper<>::check(
-        *this, check_eigendecomposition > 0 ? check_eigendecomposition : options_.get<double>("real_tolerance"));
+    const double check_eigendecomposition = options_.get<double>("assert_eigendecomposition");
+    if (check_eigendecomposition > 0)
+      complex_eigendecomposition_helper<>::check(
+          *this, check_eigendecomposition > 0 ? check_eigendecomposition : options_.get<double>("real_tolerance"));
     return *eigenvectors_inverse_;
   } // ... eigenvectors(...)
 
@@ -263,8 +264,8 @@ public:
   {
     compute_and_check();
     if (!real_eigenvectors_) {
-      if (options_.get<double>("ensure_real_eigendecomposition") > 0
-          || options_.get<double>("ensure_real_eigenvectors") > 0)
+      if (options_.get<double>("assert_real_eigendecomposition") > 0
+          || options_.get<double>("assert_real_eigenvectors") > 0)
         DUNE_THROW(Common::Exceptions::internal_error,
                    "The real_eigenvectors_ member is not filled after calling compute()!");
       else
@@ -274,7 +275,7 @@ public:
     }
     invert_real_eigenvectors();
     assert(real_eigenvectors_inverse_ && "This must not happen after calling invert_real_eigenvectors()!");
-    const double check_eigendecomposition = options_.get<double>("ensure_real_eigendecomposition");
+    const double check_eigendecomposition = options_.get<double>("assert_real_eigendecomposition");
     assert_eigendecomposition(matrix_,
                               *real_eigenvalues_,
                               *real_eigenvectors_,
@@ -311,21 +312,21 @@ protected:
     if (options_.get<double>("real_tolerance") <= 0)
       DUNE_THROW(Exceptions::eigen_solver_failed_bc_it_was_not_set_up_correctly,
                  "It does not make sense to enforce a non-positive tolerance!");
-    if (options_.get<double>("ensure_positive_eigenvalues") > 0
-        && options_.get<double>("ensure_negative_eigenvalues") > 0)
+    if (options_.get<double>("assert_positive_eigenvalues") > 0
+        && options_.get<double>("assert_negative_eigenvalues") > 0)
       DUNE_THROW(Exceptions::eigen_solver_failed_bc_it_was_not_set_up_correctly,
-                 "It does not make sense to ensure positive and negative eigenvalues!");
-    if (!options_.get<bool>("compute_eigenvalues") && (options_.get<double>("ensure_real_eigenvalues") > 0
-                                                       || options_.get<double>("ensure_positive_eigenvalues") > 0
-                                                       || options_.get<double>("ensure_negative_eigenvalues") > 0
-                                                       || options_.get<double>("ensure_eigendecomposition") > 0
-                                                       || options_.get<double>("ensure_real_eigendecomposition") > 0))
+                 "It does not make sense to assert positive and negative eigenvalues!");
+    if (!options_.get<bool>("compute_eigenvalues") && (options_.get<double>("assert_real_eigenvalues") > 0
+                                                       || options_.get<double>("assert_positive_eigenvalues") > 0
+                                                       || options_.get<double>("assert_negative_eigenvalues") > 0
+                                                       || options_.get<double>("assert_eigendecomposition") > 0
+                                                       || options_.get<double>("assert_real_eigendecomposition") > 0))
       options_["compute_eigenvalues"] = "true";
-    if (options_.get<double>("ensure_real_eigenvalues") <= 0
-        && (options_.get<double>("ensure_positive_eigenvalues") > 0
-            || options_.get<double>("ensure_negative_eigenvalues") > 0
-            || options_.get<double>("ensure_real_eigendecomposition") > 0))
-      options_["ensure_real_eigenvalues"] = options_["real_tolerance"];
+    if (options_.get<double>("assert_real_eigenvalues") <= 0
+        && (options_.get<double>("assert_positive_eigenvalues") > 0
+            || options_.get<double>("assert_negative_eigenvalues") > 0
+            || options_.get<double>("assert_real_eigendecomposition") > 0))
+      options_["assert_real_eigenvalues"] = options_["real_tolerance"];
     // check matrix
     check_size(matrix_);
     if (options_.get<bool>("check_for_inf_nan") && contains_inf_or_nan(matrix_)) {
@@ -363,17 +364,17 @@ protected:
                        << "\nThese are the computed eigenvectors:\n\n"
                        << *eigenvectors_);
     }
-    const double ensure_real_eigenvalues = options_.get<double>("ensure_real_eigenvalues");
-    const double ensure_positive_eigenvalues = options_.get<double>("ensure_positive_eigenvalues");
-    const double ensure_negative_eigenvalues = options_.get<double>("ensure_negative_eigenvalues");
-    const double check_real_eigendecomposition = options_.get<double>("ensure_real_eigendecomposition");
-    if (ensure_real_eigenvalues > 0 || ensure_positive_eigenvalues > 0 || ensure_negative_eigenvalues > 0
+    const double assert_real_eigenvalues = options_.get<double>("assert_real_eigenvalues");
+    const double assert_positive_eigenvalues = options_.get<double>("assert_positive_eigenvalues");
+    const double assert_negative_eigenvalues = options_.get<double>("assert_negative_eigenvalues");
+    const double check_real_eigendecomposition = options_.get<double>("assert_real_eigendecomposition");
+    if (assert_real_eigenvalues > 0 || assert_positive_eigenvalues > 0 || assert_negative_eigenvalues > 0
         || check_real_eigendecomposition > 0)
       compute_real_eigenvalues();
-    if (ensure_positive_eigenvalues > 0) {
+    if (assert_positive_eigenvalues > 0) {
       assert(real_eigenvalues_ && "This must not happen after compute_real_eigenvalues()!");
       for (const auto& ev : *real_eigenvalues_) {
-        if (ev < ensure_positive_eigenvalues)
+        if (ev < assert_positive_eigenvalues)
           DUNE_THROW(Exceptions::eigen_solver_failed_bc_eigenvalues_are_not_positive_as_requested,
                      "These were the given options:\n\n"
                          << options_
@@ -381,10 +382,10 @@ protected:
                          << *eigenvectors_);
       }
     }
-    if (ensure_negative_eigenvalues > 0) {
+    if (assert_negative_eigenvalues > 0) {
       assert(real_eigenvalues_ && "This must not happen after compute_real_eigenvalues()!");
       for (const auto& ev : *real_eigenvalues_) {
-        if (ev > -1 * ensure_negative_eigenvalues)
+        if (ev > -1 * assert_negative_eigenvalues)
           DUNE_THROW(Exceptions::eigen_solver_failed_bc_eigenvalues_are_not_negative_as_requested,
                      "These were the given options:\n\n"
                          << options_
@@ -392,9 +393,9 @@ protected:
                          << *eigenvectors_);
       }
     }
-    if (options_.get<double>("ensure_real_eigenvectors") > 0 || check_real_eigendecomposition > 0)
+    if (options_.get<double>("assert_real_eigenvectors") > 0 || check_real_eigendecomposition > 0)
       compute_real_eigenvectors();
-    const double check_eigendecomposition = options_.get<double>("ensure_eigendecomposition");
+    const double check_eigendecomposition = options_.get<double>("assert_eigendecomposition");
     if (check_eigendecomposition > 0)
       complex_eigendecomposition_helper<>::check(*this, check_eigendecomposition);
     if (check_real_eigendecomposition > 0) {
@@ -408,9 +409,9 @@ protected:
   {
     assert(eigenvalues_ && "This should not happen!");
     if (!real_eigenvalues_) {
-      const double ensure_real_eigenvalues = options_.get<double>("ensure_real_eigenvalues");
+      const double assert_real_eigenvalues = options_.get<double>("assert_real_eigenvalues");
       const double tolerance =
-          (ensure_real_eigenvalues > 0) ? ensure_real_eigenvalues : options_.get<double>("real_tolerance");
+          (assert_real_eigenvalues > 0) ? assert_real_eigenvalues : options_.get<double>("real_tolerance");
       real_eigenvalues_ = std::make_unique<std::vector<RealType>>(eigenvalues_->size());
       for (size_t ii = 0; ii < eigenvalues_->size(); ++ii) {
         const auto& complex_ev = (*eigenvalues_)[ii];
@@ -504,9 +505,9 @@ protected:
   {
     assert(eigenvectors_ && "This should not happen!");
     if (!real_eigenvectors_) {
-      const double ensure_real_eigenvectors = options_.get<double>("ensure_real_eigenvectors");
+      const double assert_real_eigenvectors = options_.get<double>("assert_real_eigenvectors");
       const double tolerance =
-          (ensure_real_eigenvectors > 0) ? ensure_real_eigenvectors : options_.get<double>("real_tolerance");
+          (assert_real_eigenvectors > 0) ? assert_real_eigenvectors : options_.get<double>("real_tolerance");
       real_eigenvectors_helper<>::compute(*this, tolerance);
     }
   }
-- 
GitLab