       RE: FindRoot on complex 'interval'

• To: mathgroup at smc.vnet.net
• Subject: [mg36978] RE: [mg36943] FindRoot on complex 'interval'
• From: "DrBob" <drbob at bigfoot.com>
• Date: Thu, 3 Oct 2002 05:33:33 -0400 (EDT)
• Reply-to: <drbob at bigfoot.com>
• Sender: owner-wri-mathgroup at wolfram.com

Try this:

To the original function, add a function that's (a) zero when the
imaginary part is larger than some epsilon value you choose, (b) fairly
large when the imaginary part is 0 or negative, and (c) as smooth as
possible.  For instance, something like:

f=Max[(1 - x/epsilon)^5, 0]

This function has four continuous derivatives in the real components --
though not in the complex variable!

If it doesn't penalize the real root enough, multiply f by a constant
bigger than 1 and try again.

Bobby Treat

-----Original Message-----
From: David J Strozzi [mailto:dstrrozzi at MIT.EDU]
To: mathgroup at smc.vnet.net
Subject: [mg36978] [mg36943] FindRoot on complex 'interval'

Hello,

I am trying to use FindRoot in mathematica 4.0 to find the zeros of a
complex-valued function of one complex variable.  In particular, I am
looking for the one root with a positive imaginary part.  I have a rough

approximation for where the root should be, and this is good enough to
give a reasonable guess.

However, there are always two other roots near the one I want - one with

0 imaginary part and another with negative imag part.  (For those who
are interested, the zeros are the roots of the dispersion relation for a

plasma interacting with a laser).  Sometimes FindRoot picks up one of
these instead of the one I want.

So, I'd like to tell mathematica to look for a root only in a certain
rectangular region of the complex plane.  Well, if I could tell it,
'look for roots with imag. part > something', I'd be happy too.

I tried specifying complex values for the start and stop points of an
interval, hoping mathematica would interpret these as the corners of a
rectangle.  No such luck.

Any help would be greatly appreciated.

I'd also like to point out that this and other issues about complex
roots are not clearly addressed in the built-in help files.

Thanks much.

• Prev by Date: RE: Mathematica stole my X so I had to kill it
• Next by Date: Peculiar output from DSolve
• Previous by thread: Re: FindRoot on complex 'interval'
• Next by thread: Return["expr"] in functions and nested loops