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
>