Re: very odd failure of Solve

*To*: mathgroup at smc.vnet.net*Subject*: [mg131670] Re: very odd failure of Solve*From*: danl at wolfram.com*Date*: Wed, 18 Sep 2013 06:29:04 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net*References*: <l1446c$psj$1@smc.vnet.net> <l16e0j$2g3$1@smc.vnet.net>

On Monday, September 16, 2013 3:03:31 AM UTC-5, Richard Fateman wrote: > On 9/15/2013 4:03 AM, Alan wrote: > > > Setting an irrelevant parameter to 0 baffles Solve. Why? > > > Thanks, > > > Alan Isaac > > > > > > $Assumptions =. > > > ClearAll[f1] > > > f1[x_] := s*x^\[Alpha] - (a + b + c)*x > > > Solve[f1[x] == 0, x] (* Solve works *) > > > Solve[(f1[x] /. {b -> 0}) == 0, x] (* Solve fails *) > > <snip> > > > > Running Reduce[ {%==0}, {x} ] on either equation seems to go into > > an infinite loop. That maybe be an independent bug, though. > > > > I expected that somehow fiddling with the variable names would > > do something, and that the ordering of a,b,c, alpha was critical. > > Out of curiosity I tried a few variants to generate a better > > hypothesis, but ran out of, um, curiosity. It does seem to involve ordering. If instead of "a+c" one has "y+c" then Solve handles it. The underlying issue is some simplifying that produces, or not, a "nice" form of intermediate expression. This was also recently reported in the Mathematica stackexchange forum. http://mathematica.stackexchange.com/questions/25182/variable-naming-changes-everything I hope to find time to investigate further, some day. Daniel Lichtblau Wolfram Research