Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Possible bug in NSolve[equation, variable, precission]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74342] Re: Possible bug in NSolve[equation, variable, precission]
  • From: "Julian Aguirre" <julian.aguirre at ehu.es>
  • Date: Mon, 19 Mar 2007 02:03:46 -0500 (EST)
  • References: <etg4m9$ioi$1@smc.vnet.net><etijrq$j05$1@smc.vnet.net>

On 18 mar, 06:48, "dimitris" <dimmec... at yahoo.com> wrote:
> Why use NSolve in your equation? Use Solve instead!

> [Mathematica code removed]

> Regards
> Dimitris

Somehow I thought NSolve was appropriate, since the polynomials in my
application are always irreducible, of moderate to large degree, and
with large integer or rational coefficients. I have followed your
suggestion, and I have found:

1) My code runs faster
2) Some problems related to different but very close roots have
dissapeared
3) Because of this I need less precission in the calculations.

So, thanks a lot.

But I still I am puzzeld as to why NSolve chokes on that particular
polynomial.

Juli=E1n

> Julian Aguirre wrote:
> > Dear group,
>
> > Mathematica 5.2 chokes solving numerically a polynomial equation.
>
> > In[1] := $Version
> > Out[1]= 5.2 for Mac OS X (64 bit) (June 20, 2005)
>
> > In[2]:= poly=171142046150220198693105489-16023210221608713837587916
> > x-2020825892011586434364754 x^2+190894692033395024364972
> > x^3+6039743423966949379761 x^4-568929229651998950400
> > x^5-470066550477520896 x^6+2821109907456 x^7;
>
> > In[3]:= poly2=Expand[poly/9];
>
> > In[4]:= NSolve[poly==0,x]
> > Out[4]= {-1211.83, -13.0015, -13.0014, 11.923, 12.0809, 12.2509,
> > 167826.}
>
> > (* Up to this moment, everything is O.K. But *)
>
> > In[5]:= NSolve[poly==0,x,20]
> > Out[5]= $Aborted (* after a loooong time *)
>
> > (* However, the following works as expected*)
>
> > In[6]:= x/.NSolve[poly2==0,x,20]
> > Out[6]= {-1211.8267955098487289, -13.001455891126, -13.001441554521,
> > 11.92303189062617, 12.08089051352363, 12.25087466630727,
> > 167826.26017849924816}
>
> > Let me say that I have used Mathematica to solve thousands (probably
> > millions) of equations like the one above. There must be some magic in
> > the coefficients!



  • Prev by Date: Re: How to choose real positive solutions only?
  • Next by Date: Re: NDSolve doesn't stop
  • Previous by thread: Re: Re: Possible bug in NSolve[equation, variable, precission]
  • Next by thread: Re: Possible bug in NSolve[equation, variable, precission]