Displaying Branch Cuts with ContourPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg66063] Displaying Branch Cuts with ContourPlot
- From: "Alan" <info at optioncity.REMOVETHIS.net>
- Date: Fri, 28 Apr 2006 06:32:54 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
I have read the discussion in Michael Trott's Numerics,
I am trying to develop a plot routine which displays
branch cuts and -nothing else- (unlike Trott's examples.)
I have a function f(z) which is bounded and
has a complicated pattern of branch cuts in the complex z-plane.
The branch cut locations can't be computed by any
type of closed-form expression or separate analysis.
Here is my method so far:
1. Create a Jump function J(z) which is the
maximum of two derivatives at f(z). Specifically it is the
the max of the absolute value of numerical derivatives
of f(z) in the x and y directions (z = x + I y).
(My function is expensive to compute, so I can't afford
to look in more than 2 directions at each point)
2. ContourPlot J(x + I y) over my (x,y) region of interest.
This "works" for my particular function, as the branch cuts
show up as readily identifiable contours.
But there is noise due to other contours and gaps in the
cut contours I want to show. I have to choose a step size (epsilon)
for my derivatives and this interacts with the number of plot points
to create noise. Reducing epsilon is a mixed blessing.
A smaller epsilon increases the jump size, which is good.
But it also means more plot points are needed to resolve the jump locations,
which is not good. (Remember my function is expensive to compute).
I have tried reducing the number of contours to 2, but this doesn't help
much.
My ideal plot would show -just- the branch cut lines and nothing else
apart from, say, a nice uniform background.
Any suggestions on how to improve this method or
replace it with a completely different approach?
Thanks!
alan