[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 2ad4944 20/23: Record some more observations-
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 2ad4944 20/23: Record some more observations--no files changed |
Date: |
Tue, 27 Jul 2021 21:59:54 -0400 (EDT) |
branch: master
commit 2ad4944de1b51397eea8d008719acb411e16ec97
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Record some more observations--no files changed
Experimentally forced the first N function evaluations (after the first
two, which evaluate initial bounds) to use binary64 bisection. This only
harmed performance as measured by the total number of evaluations in the
system test. Patch follows, with evaluation counts in comments; 7331 is
the baseline explained in recent commits.
------------------------ >8 ------------------------
diff --git a/zero.hpp b/zero.hpp
index 1b89b0f92..b46233d02 100644
--- a/zero.hpp
+++ b/zero.hpp
@@ -492,7 +492,19 @@ root_type lmi_root
; // Do nothing.
}
}
- if(std::fabs(e) < tol)
+ // 2: 7331
+ // 3: 7657
+ // 4: 7945
+ // 5: 7781
+ // 6: 7941
+ // 7: 7856
+ if(n_eval < 2)
+ {
+ impetus = dithering_near_root;
+ n = binary64_midpoint(b, c); // "next" iterate
+ d = e = n - b;
+ }
+ else if(std::fabs(e) < tol)
{
impetus = dithering_near_root;
d = e = n - b;
------------------------ >8 ------------------------
[This empty commit message ends here.]
- [lmi-commits] [lmi] master d0a65c2 04/23: Demonstrate that Brent's δ can be almost arbitrarily small, (continued)
- [lmi-commits] [lmi] master d0a65c2 04/23: Demonstrate that Brent's δ can be almost arbitrarily small, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 548f9ab 06/23: Document known shortcomings of a unit-testing helper, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 19a4a3a 03/23: For now at least, trace solves in regression test, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 04c58eb 09/23: Count iterations and evaluations separately, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master bbf2517 10/23: Use signum() where a signum function is wanted, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master e08be34 12/23: Improve a unit test, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 02dde17 13/23: Avoid catastrophic cancellation, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master d2dcbf8 15/23: Reduce complexity, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master e93ca8f 17/23: Demonstration, for immediate reversion, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 4500338 22/23: Simplify, Greg Chicares, 2021/07/27
- [lmi-commits] [lmi] master 2ad4944 20/23: Record some more observations--no files changed,
Greg Chicares <=
- [lmi-commits] [lmi] master 028b454 23/23: Find any root with only 64 function evaluations, Greg Chicares, 2021/07/27