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. |