Oh I guess it's easy:

In [32]: print(collect(a.subs(x, x - y).expand(), x))
x**5 + x**4*(-5*y - 5) + x**3*(10*y**2 + 20*y + 30) + x**2*(-10*y**3 -
30*y**2 - 90*y - 50) + x*(5*y**4 + 20*y**3 + 90*y**2 + 100*y + 55) -
y**5 - 5*y**4 - 30*y**3 - 50*y**2 - 55*y - 21

So in this case, we just need to shift by y=-1.

Aaron Meurer

On Mon, Jan 27, 2014 at 6:57 PM, Aaron Meurer <asmeu...@gmail.com> wrote:
> 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 <mario.pern...@gmail.com> 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 <mario....@gmail.com> 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 <asme...@gmail.com> wrote:
>>> >> > On Fri, Jan 24, 2014 at 2:02 PM, Harsh Gupta <gupta....@gmail.com>
>>> >> > 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 sympy+un...@googlegroups.com.
>>> >> >> To post to this group, send email to sy...@googlegroups.com.
>>> >> >> 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 sympy+un...@googlegroups.com.
>>> >> > To post to this group, send email to sy...@googlegroups.com.
>>> >> > 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 sympy+un...@googlegroups.com.
>>> > To post to this group, send email to sy...@googlegroups.com.
>>> > 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 sympy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sympy@googlegroups.com.
>> 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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to