I need to implement general purpose algorithm for solving any 8-degree polynomials for this project, method Sum::solve. It allows to use exponentiation, differentiation, polynomial division etc, and I can implement any additional staff needed. This will operate with arbitrary large numbers. I am thinking about recursive differentiation and double differentiation to get extremums and its sign changes to get root containing numerical ranges. Also considering paralell root test in these ranges to get some roots by fast brutforcing. I can divide polynomial by monoid polynomials for found roots to get simplified polynomial to find rest of roots faster. I know there is no general-purpose formula for polynomial of degree>5, but possibly there is general purpose solution formulas or algorithms for solving particular grades. What is optimal way to get roots for any 8-degree polynomial?
1 Answer
Getting all roots of an arbitrary degree polynomial to arbitrary precision is very involved and hardly a reasonable question for this site. I can only suggest the paper "How to find all roots of complex polynomials by Newton's method" by Hubbard, Schleicher, and Sutherland which is available for download by the authors.