![]() | Bairstow |
The BairstowRootFinder type exposes the following members.
Name | Description | |
---|---|---|
![]() | BairstowRootFinder | Constructs an instance with the specified tolerance an maximum iteration values. |
Name | Description | |
---|---|---|
![]() ![]() | FindAllRoots(Double, Int32, Double) | Finds all the roots of polynomial by repeated application of Biarstow's method. |
![]() ![]() | FindAllRoots(DoubleVector, Int32, Double) | Finds all the roots of polynomial by repeated application of Biarstow's method. |
![]() ![]() | FindAllRoots(Polynomial, Int32, Double) | Finds all the roots of polynomial by repeated application of Biarstow's method. |
![]() ![]() | FindUniqueRoots(IListBairstowRootFinderSolveResult, Double) | Extracts the unique roots from the list of all roots resulting from Applying Bairstow's method to find all roots of a polynomial. Equality is determined by the "relative error" between the two values, x and y, being compared according to the formula: E = ||x - y||, if max(||x||, ||y||) is less than 1 ||x - y|| / max(||x||, ||y||), otherwise |
![]() ![]() | FindUniqueRoots(Double, Int32, Double) | Finds the unique roots of a polynomial P(x) = a[0] + a[1]*x + a[2]*x^2 + ... + a[n]*x^n using repeated application of Bairstow's method. |
![]() ![]() | FindUniqueRoots(DoubleVector, Int32, Double) | Finds the unique roots of a polynomial P(x) = a[0] + a[1]*x + a[2]*x^2 + ... + a[n]*x^n using repeated application of Bairstow's method. |
![]() ![]() | FindUniqueRoots(Polynomial, Int32, Double) | Finds the unique roots of a polynomial using repeated application of Bairstow's method. |
![]() | Solve(Double) |
Solves the polynomial
P(x) = a[0] + a[1]*x + a[2]*x^2 + ... + a[n]*x^n
Note that the constant term is at index 0 and the leading coefficient
is at index C# a.Length - 1 |
![]() | Solve(DoubleVector) |
Solves the polynomial
P(x) = a[0] + a[1]*x + a[2]*x^2 + ... + a[n]*x^n
Note that the constant term is at index 0 and the leading coefficient
is at index C# a.Length - 1 |
![]() | Solve(Polynomial) | Solves the give polynomial. |
Name | Description | |
---|---|---|
![]() | MaxIterations | The maximum number of iterations performed. |
![]() | Small |
Number for determining if a value is approximately zero.
The algorithm will consider a number x to be zero if
the absolute value of x is less than C# Small |
![]() | Tolerance | Iteration terminates with a converged status if the step length falls below this value. In moving from iterative step n to n + 1, the step length is defined as StepLength = sqrt((u(n) - u(n+1))^2 + (v(n) - v(n+1))^2) where un and vn are the coefficients in the quadratic x^2 + u(n)*x + v(n) at the nth step. |