I'm very interested in visualizing complex valued functions $f:\mathbb{C} \rightarrow \mathbb{C}$. Especially interesting to me are Möbius transformations.
I found a nice way of visualizing these kind of functions at
How do I put an image on the complex plane
I do use the code provided by J. M. very often.
Here is an example:
c=1/2;
image=
Using the Möbius transformation $\dfrac{z-c}{\overline{c}z-1}$ which maps the unit circle onto the unit circle itself, we get:
Image[ImageForwardTransformation[image, Through[{Re, Im}[((#[[1]] + I #[[2]])- c)/(Conjugate[c]*(#[[1]] + I #[[2]]) - 1)]] &, Background -> 1, DataRange -> {{-1, 1}, {-1, 1}}, PlotRange -> {{-1, 1}, {-1, 1}}]]
As you can see, the image quality is a little bit on the lower side at some spots, which is totally expected using this plot. I do get better results using input images with a higher pixel count. I generally like to use 4096×4096 px, which takes some time to plot. I'm asking if there is any way of speeding up this plotting method using bigger input images?
The plot takes about 2-3 minutes. Also Mathematica does not make use of the 12 logical CPU cores my machine has. Is there maybe a way of splitting this up for multicore performance?
Image(Forward)Transformation[]
. $\endgroup$GraphicsComplex
for the initial image and apply the transformation to the packed coordinate array of the complex. $\endgroup$