Polynoms.PolyRoots Method

procedure PolyRoots(Roots: TVec; Coeff: TVec);

Finds the roots of the polynomial from the coefficents.

#NameTypeDescription
1RootsTVecsource TVec
2CoeffTVecsource TVec

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 Polynoms.PolyCoeff Roots are computed by finding the eigenvalues of the companion matrix.

Examples
uses MtxExpr, Math387, MtxVec, MtxVecEdit, Polynoms;

procedure TForm42.Button1Click(Sender: TObject);
var Coeff, Roots: Vector;
begin
    // coefficients of the polynomial 1*x^2 - 2*x + 1:

    Coeff.SetIt(false,[1, -2, 1]);
    PolyRoots(Roots,Coeff);

    // Roots now hold the roots of the polynomial  = [ 1, 1 ]
    // x^2 - 2x + 1 = (x - 1) * (x - 1)

    ViewValues(Roots,'Roots');
end;
See Also: Polynoms.PolyCoeff