       Re: Emergent Help: NSolve Problems!

• To: mathgroup at smc.vnet.net
• Subject: [mg39784] Re: [mg39753] Emergent Help: NSolve Problems!
• From: BobHanlon at aol.com
• Date: Fri, 7 Mar 2003 03:31:35 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```
In a message dated 3/6/03 4:07:23 AM, wcz at ece.ucsd.edu writes:

> I have some complicated polynomials, and I want to calculate its roots.
> HOwever, when I use NSolve, it creates some problems. Say a simple
> example:
>
> temp[s_]=s^10+10 s^9+ 10 s^8 +10 s^7 +10 s^6+ 10 s^5 +10 s^4 +1;
> NSolve[temp[s]==0, s]
>
> It will give:
>
> Out= {{s -> -8.99998}, {s -> -1.06539}, {s -> -0.468828 - 0.886239 I},
>
> >    {s -> -0.468828 + 0.886239 I}, {s -> -0.409684 - 0.469948 I},
>
> >    {s -> -0.409684 + 0.469948 I}, {s -> 0.401048 - 0.312597 I},
>
> >    {s -> 0.401048 + 0.312597 I}, {s -> 0.51015 - 0.878693 I},
>
> >    {s -> 0.51015 + 0.878693 I}}
>
> But when I plug in the first number, which is "-8.99998", it should give a
> value close to zero. However, it gives:
>
> In:= temp[-8.99998]
> Out= -411.473
>
> The other roots seems OK. Does anyone know why? This is just a simple
> example. I have some more complicated polynomials to deal with.
>
>

temp[s_]=s^10+10 s^9+ 10 s^8 +10 s^7 +10 s^6+ 10 s^5 +10 s^4 +1;

soln = NSolve[temp[s]==0, s];

The first root is not -8.99998 that is merely the rounded output for display.
Its machine precision value is

soln[] // InputForm

{s -> -8.999981180131652}

Using the machine precision results

temp[s] /. soln // Chop

{-9.53674*^-7, 0, 0, 0, 0, 0, 0, 0, 0, 0}

The function is changing very rapidly in the vicinity of that root.   This is
easily confirmed using Plot.

Bob Hanlon

```

• Prev by Date: Re: Solving a system of Inequalities
• Next by Date: Re: Re: visualizing Map, Thread, Apply
• Previous by thread: Re: Emergent Help: NSolve Problems!
• Next by thread: Re: Emergent Help: NSolve Problems!