public static double[] ExtractRoots(Polynomial p) { int size = p.Order; double initialValue = 0.9; double[] roots = new double[p.Order]; Debug.Log(p.Order); for (int i = 0; i < size; i++) { Debug.Log(i); roots[i] = NumericalMethods.VonMises(p, initialValue, 0.001); Polynomial q = new Polynomial(1); q.AddValue(0, -roots[i]); q.AddValue(1, 1); Debug.Log(p); p = NumericalMethods.LongDivision(p, q); initialValue = roots[i]; } return roots; }