61 std::function<
double(
double)>
f) noexcept :
75 const uint32 maxNumIterations,
76 std::function<
double(
double)>
f) noexcept :
95 double solve(
double a,
double b)
107 double lastFx = f_(a);
111 const double x_tmp = calculateX(x, lastX, fx, lastFx);
127 const std::function<double(
double)> f_;
139 static double calculateX(
double x,
double lastX,
double fx,
double lastFx) noexcept
141 const double functionDifference = fx - lastFx;
142 return x - fx * (x - lastX) / functionDifference;
ABC for iteration classes to derive from.
Definition: Iteration.hpp:47
Iteration(double epsilon) noexcept
Definition: Iteration.hpp:55
const double epsilon_
Definition: Iteration.hpp:114
void resetNumberOfIterations() noexcept
Definition: Iteration.hpp:93
void incrementNumberOfIterations()
Definition: Iteration.hpp:104
Definition: Secant.hpp:51
double solve(double a, double b)
Definition: Secant.hpp:95
~Secant() override=default
Secant(const double epsilon, const uint32 maxNumIterations, std::function< double(double)> f) noexcept
Definition: Secant.hpp:74
Secant(const double epsilon, std::function< double(double)> f) noexcept
Definition: Secant.hpp:60
dtype f(dtype inDofN, dtype inDofD)
Definition: f.hpp:55
Definition: Coordinate.hpp:45
void swap(NdArray< dtype > &inArray1, NdArray< dtype > &inArray2) noexcept
Definition: swap.hpp:42
std::uint32_t uint32
Definition: Types.hpp:40