Re: Wrong Answer

*To*: mathgroup at smc.vnet.net*Subject*: [mg130667] Re: Wrong Answer*From*: Daniel <dosadchy at its.jnj.com>*Date*: Wed, 1 May 2013 03:36:54 -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

> Hello, > > I've discovered that Solve[] gives me the wrong > answer for some > polynomial equations. For example, consider the > following equation, > which should have exactly one positive, real answer > for t. > > p:=(px + t vx)^4 + (py + t vy)^4==1 > r:={px->0.5,py->0.5,vx->0.5,vy->0.5} > NSolve[p/.r,t] > > NSolve gives the right answers if I substitute for > px,py,vx and vy > before solving. On the other hand, if I use Solve[] > this way: > > Solve[p,t]/.r > > I get a different answer, and it's not correct. > Does Solve[] just malfunction with quartic > polynomials or is there > something else happening? > > Chris > > mathematica 5.2 > > Solve[p] > I use Mathematica 8 and Solve[p,t]/.r returns "Infinite expression 1/Sqrt[0.]..." so obviously there is a division by 0 problem, which could be solved with Limit[]. So "Solve[p, t] /. r" fails, as well as "Solve[p, t] /. Most[r] /. Last[r]" but, Limit[t /. Solve[p, t] /. Most[r], Last[r]] gives the same answer as p := (px + t vx)^4 + (py + t vy)^4 == 1 r := {px -> 0.5, py -> 0.5, vx -> 0.5, vy -> 0.5} NSolve[p /. r, t]