Re: Branch Cuts and NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg85865] Re: Branch Cuts and NDSolve
• From: "David Park" <djmpark at comcast.net>
• Date: Tue, 26 Feb 2008 07:42:03 -0500 (EST)
• References: <fpud81\$mi7\$1@smc.vnet.net>

```Alex,

The Presentations package from my web site (cost \$50) has the structure and
routine:

Multivalues[memoryset,symbolicset,var,permutations] holds the data for
evaluating multifunctions with memory of the last evaluation. It is used in
conjuction with CalculateMultivalues and preserves a continuity of root
values.

CalculateMultivalues[memorydata][z] will calculate and set a new set of
values for the expression in memorydata, which must be a Multivalues
expression. It will then return {newvalues,permutation used}.

I haven't tried using this inside of NDSolve, and don't know if there would
be problems, but if you gave me a simple set of equations I would try it.
You would probably just use First@First@CalculateMultivalues[memorydata][z]
to track a single solution.

I've used this very successfully in continuously tracking a function value
on a Riemann surface by dragging a locator around. The whole point of a
Riemann surface is that a multifunction is single valued and continuous at
all points of the surface.

--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/

"Alex Cloninger" <acloninger at wustl.edu> wrote in message
news:fpud81\$mi7\$1 at smc.vnet.net...
> So I need to teach Mathematica how to take a root of a complex number.
> The problem is that the way it does it in NDSolve (for a square root) is
> just to assume you want the first of the two possible solutions (ie.
> Sqrt[i]=Exp[i*Pi/4] and not Exp[5i*Pi/4]).  I need to teach Mathematica to
> know which root to take by telling it to continue on the same trajectory
> that the solution was traveling previously.  I'm not sure how to go about
> that?  Basically, some of the complex differential equations I'm trying to
> solve should tie themselves in a knot, but that doesn't happen without
> Mathematica knowing which root to take.
>
> Is there any way someone could help me out with this problem?  I'm not
> sure how to get started.
>
> Thanks,
> Alex
>

```

• Prev by Date: Re: << Getting all solutions from DSolve >>
• Next by Date: Re: PowerExpand in version 6
• Previous by thread: Branch Cuts and NDSolve
• Next by thread: Dynamic Rotation: Coupling of Two or More Graphics3D objects?