, Double Extreme.Mathematics.AlgorithmsManagedIterativeAlgorithmDouble Extreme.Mathematics.AlgorithmsIterativeAlgorithm Extreme.Mathematics.EquationSolversEquationSolver Extreme.Mathematics.EquationSolversRootBracketingSolver Extreme.Mathematics.EquationSolversBisectionSolver
Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16283.0)
public sealed class BisectionSolver : RootBracketingSolver
Public NotInheritable Class BisectionSolver
public ref class BisectionSolver sealed : public RootBracketingSolver
type BisectionSolver =
The BisectionSolver type exposes the following members.
Use the BisectionSolver class to
solve a simple non-linear equation if you have
an interval that includes a root with certainty, and
when you only need a rough approximation of the root.
If you need higher accuracy, other algorithms are more
efficient. The Dekker-Brent
method is the method of choice for these situations.
BisectionSolver inherits from
RootBracketingSolver, which in turn inherits
All properties of IterativeAlgorithm are available.
The AbsoluteTolerance and
RelativeTolerance properties set the desired
precision as specified by the
ConvergenceCriterion property. The default
value for both tolerances is
10-8). MaxIterations sets the
maximum number of iterations.
The TargetFunction property is a
function of one variable that specifies
the function we want to find a root for.
The LowerBound and
properties specify the bounds of the bracketing interval.
The target function must have a different sign at each
end of this interval.
The Solve(Double) method performs the actual
approximation of the root. This method returns the
best approximation that was found. The
AlgorithmStatus property indicates
whether the algorithm was successful. The
EstimatedError property gives an upper
bound for the difference between the approximated and
the actual root.
The bisection method is the simplest of the root
bracketing algorithms. It works by dividing the
bracketing interval into two equal parts in each
iteration. Not taking into account round-off error,
the number of iterations needed to achieve a
certain accuracy can be estimated easily as the base
2 logarithm of the relative accuracy. It takes about
10 iterations to gain three digits in accuracy.
Supported in: 6.0, 5.x, 4.x