Newton class

Implements the Newton 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).

  • It 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})
Instantiates a new object to find the root of an equation by using the Newton 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 accuracy of the algorithm.
finalinherited
x0 → double
The initial guess x0.
final

Methods

convergence(List<double> guesses, int steps) → double
In order 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() → NonlinearResults
Returns a NonlinearResults object which contains the data calculated by the root-finding algorithm.
override
toString() → String
A string representation of this object.
inherited

Operators

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