Ah, apparently the paper (http://www.ams.org/journals/mcom/1991-57-195/S0025-5718-1991-1079014-X/S0025-5718-1991-1079014-X.pdf ("Solving solvable quintics", D. S. Dummit)), glosses over this, because of this fact. What is the algorithm to eliminate the fourth order term?
How can we simplify the roots. Will the more advanced sqrtdenest algorithms help (https://code.google.com/p/sympy/issues/detail?id=93)? Aaron Meurer On Mon, Jan 27, 2014 at 10:59 AM, mario <[email protected]> wrote: > > One can always eliminate the fourth order by a translation, in this case by > one; one obtains then > ``x**5 + 20*x**3 + 20*x**2 + 30*x + 10``, which is solved by SymPy; it would > be useful to automatize this step. > > However the real solution is not simplified, it has ``count_ops = 267``, vs > ``count_ops=11`` for the simplified > real solution ``S('2^(1/5) - 4^(1/5) + 8^(1/5) - 16^(1/5)')`` > > > > > > On Monday, January 27, 2014 11:42:03 AM UTC+1, Harsh Gupta wrote: >> >> > Apparently only for some of them: it does not solve >> > ``x**5 - 5*x**4 + 30*x**3 - 50*x**2 + 55*x - 21 = 0`` >> >> Thanks. Yes, not all of them, Only equations of form x**5 + p*x**3 + >> q*x**2 + r*x + s, no fourth order terms are solvable. > > >> >> The implementation was added in >> https://github.com/sympy/sympy/pull/1746. So, there is scope of >> improvement. I wonder >> how many of other methods of solving solvable quintics can be >> implemented without a knowledge of abstract algebra. >> Aaron Meurer can you guide me on this? >> >> On 27 January 2014 13:28, mario <[email protected]> wrote: >> > You wrote "Methods to solve solvable quintics are implemented in sympy." >> > >> > Apparently only for some of them: it does not solve >> > ``x**5 - 5*x**4 + 30*x**3 - 50*x**2 + 55*x - 21 = 0`` >> > >> > taken from http://en.wikipedia.org/wiki/Quintic_function >> > >> > >> > >> > >> > On Monday, January 27, 2014 3:11:37 AM UTC+1, Harsh Gupta wrote: >> >> >> >> I'm reading and understanding the solvers code. I have started >> >> documenting it here https://github.com/sympy/sympy/wiki/solvers. >> >> >> >> @Matthew >> >> For implementing and dealing with infinite sets I've found a draft by >> >> Richard Fateman >> >> http://www.cs.berkeley.edu/~fateman/papers/sets.pdf >> >> >> >> I have skimmed through it and it appears all of the techniques >> >> described there are implementable in sympy. >> >> >> >> On 25 January 2014 06:28, Aaron Meurer <[email protected]> wrote: >> >> > On Fri, Jan 24, 2014 at 2:02 PM, Harsh Gupta <[email protected]> >> >> > wrote: >> >> >>>> Great to hear it. As noted on the ideas page, this one will >> >> >>>> require a >> >> >>>> good deal of thought to be done in the application, so let's start >> >> >>>> discussing. >> >> >> >> >> >> Thanks a lot, and sorry for the late reply >> >> >> >> >> >>>> Another thing I'd like to know is if there's literature on solving >> >> >>>> algorithms, particularly solving transcendental equations, and >> >> >>>> very >> >> >>>> particularly on if there are any complete algorithms out there for >> >> >>>> some class of equations. >> >> >> >> >> >> I found a old paper called "SOLVING SYMBOLIC EQUATIONS WITH PRESS" >> >> >> >> >> >> >> >> >> http://www.research.ed.ac.uk/portal/files/413486/Solving_Symbolic_Equations_%20with_PRESS.pdf >> >> >> >> >> >>>> Do we know how other computer algebra systems solve this problem? >> >> >>>> How robust are the algorithms behind wolframalpha.com ? >> >> >> >> >> >> I have found another paper "A Review of Symbolic Solvers" >> >> >> >> >> >> >> >> >> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.9444&rep=rep1&type=pdf >> >> >> and according to it Mathematica performs performs pretty bad. >> >> > >> >> > That was in 1996. >> >> > >> >> > Nonetheless this, along with the Wester paper, should provide some >> >> > good test cases so we can see what can be done that we can't do. >> >> > >> >> > Aaron Meurer >> >> > >> >> >> >> >> >>>> An audit of the current solve code might be in order. In >> >> >>>> particular, >> >> >>>> I'd like to know: >> >> >>>> >> >> >>>> 1. what are the different "solvers"? (if we split solve into >> >> >>>> "hints" >> >> >>>> like with dsolve, these would be the different hints), and >> >> >>>> 2. which are algorithmically complete (i.e., we know they will >> >> >>>> give >> >> >>>> all solutions, or they can detect somehow if they may have missed >> >> >>>> one)? >> >> >>>> >> >> >>>> And this may raise auxiliary questions, like: >> >> >>>> >> >> >>>> - to what degree can the different solvers be separated? For >> >> >>>> instance, >> >> >>>> one solver (I'm not sure if it's actually implemented) would use >> >> >>>> decompose() to solve recursively. How would such "recursive >> >> >>>> solvers" >> >> >>>> look in a hints system? >> >> >>>> >> >> >>>> - of those that are heuristic (not algorithmically complete), can >> >> >>>> they >> >> >>>> be improved? >> >> >> >> >> >> I'm going through the solvers code and will answer these questions >> >> >> soon. >> >> >> >> >> >> -- >> >> >> You received this message because you are subscribed to the Google >> >> >> Groups "sympy" group. >> >> >> To unsubscribe from this group and stop receiving emails from it, >> >> >> send >> >> >> an email to [email protected]. >> >> >> To post to this group, send email to [email protected]. >> >> >> Visit this group at http://groups.google.com/group/sympy. >> >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups "sympy" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> >> > send >> >> > an email to [email protected]. >> >> > To post to this group, send email to [email protected]. >> >> > Visit this group at http://groups.google.com/group/sympy. >> >> > For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> >> >> >> >> -- >> >> Harsh >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "sympy" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at http://groups.google.com/group/sympy. >> > For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> -- >> Harsh > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
