Hey, I'm looking to compute the roots of very large polynomials (as in polynomials of degree 500+) and am looking for the most efficient method to do so. This my code so far (I tried a different method with the commented out code) and it works great for about anything with N<=200ish and then starts to take a really long time:
var('x')
x=PolynomialRing(ComplexField(),'x').gen() N=500 s=0 for m in range (N+1): n=N+1-m s+=(-1)^n(n+1)x^n/factorial(n) #s+=[(-1)^n*(n+1)/factorial(n)]
sols=(s==0).roots(x,ring=CC,multiplicities=False)
sols=s.roots() solsPlot=[] for n in range(len(sols)): solsPlot+=[[sols[n][0].real(),sols[n][0].imag()]] #solsPlot+=[[sols[n].real(),sols[n].imag()]] scatter_plot(solsPlot)
Thanks.