       Re: Help with FindRoot

• To: mathgroup at smc.vnet.net
• Subject: [mg39861] Re: [mg39830] Help with FindRoot
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Sun, 9 Mar 2003 05:26:57 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```If you use sufficient WorkingPrecision and a reasonable starting point
than you will be able to get rid of the tiny complex part with Chop. Eg:

FindRoot[3*x^4 - 46 + I*(x - 2) == 2, {x, 1}]

{x -> 2.0000000005164145 - 3.195328365745672*^-10*I}

but
Chop[FindRoot[3*x^4 - 46 + I*(x - 2) == 2, {x, 1},
WorkingPrecision -> 30]]

{x->2.00000000000000000000000000000}

Of course you can simply get rid of the unwanted small complex part
"manually":

FindRoot[3*x^4 - 46 + I*(x - 2) == 2, {x, 1}] /.
Complex[a_, b_]/;b<10^-8 -> a

{x->2.}

This get rids of the imaginary part if it is less than 10^-8.
There is however no way to make Mathematica "look for" real solutions
in such cases, since there no purely numerical way to distinguish a
"real" solution from a complex one with a very small imaginary part.

Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/

On Saturday, March 8, 2003, at 04:48  pm, Stefano Fricano wrote:

> Dear friend,
>
> I've problem with FindRoot[lhs==rhs, {x, x0}] .
> The description of the function in Help suggest that,
> if lhs and rhs are real then x will be real;
> if lhs and/or rhs are complex the x likely will be complex;
> if lhs and rhs are real but you want also x be complex then you
> need to add "+0.I" to lhs or rhs.
> My problem is that lhs is complex, rhs is real and I want only real
> solutions for x.
> How can I do it? How say to Mathematica to look for only real solution?
>
> Thanks
>
>
> This email has been scanned by RAV antivirus on server
> dsfa.fisica.unipa.it
>
>
>

```

• Prev by Date: Re: Conclusion: Mathematica will output plain text
• Next by Date: Re: Symbols and Lists
• Previous by thread: RE: Help with FindRoot
• Next by thread: Conclusion: Mathematica will output plain text