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.
Constructors
- Newton.new({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