# companion-roots

Finds roots of polynomials by solving the eigenvalues of the companion matrix

``npm install companion-roots``

# companion-roots

Finds all roots of a polynomial by computing the eigenvalues of its companion matrix. In other words, it factorizes the polynomial over the complex numbers.

# Use

Install using npm:

``````npm install companion-roots
``````
``````var findRoots = require("companion-roots")

var roots = findRoots([1, 1, -1])  // Finds roots for 1 + 1*x - 1*x^2

// Now:
//      roots[0] = real part of roots
//      roots[1] = imaginary part of roots

for(var i=0; i<roots.length; ++i) {
console.log(roots[0][i] + "+" + roots[1][i] + "i")
}

// Prints:
//  1.618033988749895+0i
//  -0.6180339887498949+0i
``````

### `require("companion-roots")(real_coeffs[, imag_coeffs])`

Computes the roots of a polynomial

• `real_coeffs` the real coefficients of the polynomial arranged in order of increasing degree
• `imag_coeffs` (optional) the imaginary coefficients of the polynomial. If not specified, assumed to be zero

Returns: A pair of vectors representing the real and imaginary parts of the roots of the polynomial

Time Complexity: `O(real_coeffs.length^3)`

# Credits

(c) 2013 Mikola Lysenko. MIT License

npm loves you