Visualizing Conformal Maps
I learned the concept of domain colouring from Hans Lundmark's pages where you can find many relevant references.
HL uses the Gimp together with his Scheme script driving Mark Probst's MathMap plugin. Unfortunately, MathMap doesn't seem to be available for Gimp 2.
So I cooked up my own plugin using Python. The advantage of this approach: There is no need to compile, and the plugin can do everything Python can do... e.g., use special function modules. The drawback: It is not compiled, meaning not quite as fast as a C plugin. But stay tuned for the Pyrex version!
The adventureous are welcome to download version 0.3 of the plugin. Just put it in ~user/.gimp-2.x/plug-ins/ and make it executable. Note that you need Gimp-Python for this plugin to work. You can find development versions as well as a README file at the git repo for conformal.
Examples:
w=z, showing the setup: argument gives the color, log2 of modulus gives the shade. Real and imaginary parts range from -2 to 2, the grid spacing is 0.5. Red is positive real and so on. The notation below follows the Python syntax suitable for the plugin. |
w=z**2: Note the transformed grid and the double covering. |
w=z**2+1: You can tell the two simple zeroes from the "colour whirl" spots. |
w=sqrt(z): The standard branch cut for the square root is the negative real axis. Identify the range of the argument from the colours. |
w=sqrt(z): The square root with a different branch cut. Note the different range. |
w=(1/(z-1j*eps) - 1/(z+1j*eps)) / (2j*pi): an approximation to the "complex delta distribution", eps=1.0 |
Complex delta, eps=0.1: check out the larger image to separate the poles. |
Complex delta, eps=0.01: the poles almost on top of each other |
w=1/z**2: Compare to the complex delta. The argument is the same, but check out the different grids. |
Greens function for the 1D Schrödinger operator/Laplacian (known explicitely): short range behaviour (r=1) |
long range behaviour (r=10). In both cases, note the branch cut indicating the spectrum. |
2D, short range: generated using scipy.special.kv() since the 2D Greens function cannot be expressed in elementary functions. |
2D, long range |
3D, short range (known explicitely): Note the "softening" of the cut - the leading asymptotics in 1/r is independent of z in 3D. |
3D, long range |
1D Schrödinger with a negative "delta-potential" (point perturbation): note the cut and the negative eigenvalue. Greens function evaluated for x=0, y=1 |
long range (x=0, y=10) |
Decreasing the strength of the potential moves the eigenvalue closer to 0. |
long range |
Very small potential: compare to the free Schrödinger |
long range |
Regarding the Greens functions (Schwartz kernel of the resolvent): One should look at a suitable operator norm of the resolvent, of course, in order to draw conclusions about the spectrum. This is true especially in nonhomogeneous situations, such as for the point perturbations.