void PolyRoots(TVec Roots, TVec Coeff)
Finds the roots of the polynomial from the coefficents.
Result: stored in self (calling object)
Remarks:
Finds the roots of the polynomial from the coefficents. The Coeff holds the coefficients and the result is placed in the Roots.
P(x) = coeff[0] x^n + coeff[1] x^(n-1) + ... + coeff[n] = (x - roots[0]) ... (x - roots[n-1])
n ... order of the polynomial P(x).. value of the polynomial evaluated at x.
The Length and Complex property of the Roots parameter are set automatically. The inverse to this routine is Dew.Math.Units.Polynoms.PolyCoeff Roots are computed by finding the eigenvalues of the companion matrix.
Examples
using Dew.Math;
using Dew.Math.Units;
using Dew.Math.Editors;
namespace Dew.Examples
{
private void Example()
{
Vector Coeff = new Vector(0);
Vector Roots = new Vector(0);
// coefficients of the polynomial 1*x^2 - 2*x + 1:
Coeff.SetIt(false, new double[] {1, -2, 1});
Polynoms.PolyRoots(Roots,Coeff);
// Roots now hold the roots of the polynomial = [ 1, 1 ]
// x^2 - 2x + 1 = (x - 1) * (x - 1)
MtxVecEdit.ViewValues(Roots,"Roots");
}
}
See Also: Polynoms.PolyCoeff