Newton class final

Implements Newton's method to find the roots of a given equation.

Characteristics:

  • The method is extremely powerful but it's not guaranteed to converge to a root of f(x).

  • The algorithm may fail for example due to a division by zero, if the derivative evaluated at a certain value is 0, or because the initial guess is too far from the solution.

Inheritance

Constructors

Newton({required String function, required double x0, double tolerance = 1.0e-10, int maxSteps = 10})
Creates a Newton object object to find the root of an equation using Newton's method.
const

Properties

function String
The function f(x) for which the algorithm has to find a solution.
finalinherited
hashCode int
The hash code for this object.
no setteroverride
maxSteps int
The maximum number of iterations to be made by the algorithm.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tolerance double
The algorithm accuracy.
finalinherited
x0 double
The initial guess x0.
final

Methods

convergence(List<double> guesses, int steps) double
To get a meaningful result, it makes sense to compute the rate of convergence only if the algorithm made at least 3 steps (iterations).
inherited
efficiency(List<double> guesses, int steps) double
The efficiency is evaluated only if the convergence is not double.nan. The formula is:
inherited
evaluateDerivativeOn(double x) num
Evaluates the derivative of the function on the given x value.
inherited
evaluateOn(double x) num
Evaluates the function on the given x value.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
solve() → ({double convergence, double efficiency, List<double> guesses})
Generates the succession generated by the root-finding algorithm. Returns a Record object whose members are:
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
override