Saturday, March 16, 2013

Singularity Viewer

A tool to create images and video of complex functions as they approach 0, useful for visualizing singularities.




Overview


In Complex Analysis you are able to work with mathematical singularities. They are classified into three main categories:
  • Removable: The function can be rearranged to remove it
  • Pole: Has a finite number of negative terms in the Laurent series. The simple case of these type of functions are polynomials with negative degrees.
  • Essential: The Laurent series has an infinite number of negative terms. More-or-less, no matter how many times you integrate the singularity remains.
This program attempts to examine these functions by taking a circle centered around the origin and making the radius closer and closer to 0 while keeping the image size the same. The 'zoom' also tries to keep values visible by scaling up the pixel mappings. In short it's a visualizer for very small values in the complex plane.
Instead of domain coloring, the program just transforms the following reference circle with the given function:

ie. It takes the exact same points with the same colors, runs them through the function and moves them to their new location.

Movies

Pole of Order 6:

 

e^(1/z):

tan(1/z)
 

Source Code

https://github.com/plurSKI/singularityViewer

Conclusion

It seems that most poles 'repel' things from the location of the singularity (ie. Pushes them towards infinity). On the other hand, essential singularities don't have a predictable behavior. This is easy to see on the non-complex plane if you look at the graph for sin ( 1 / x):


you will notice it is not approaching infinity like (1/x) would, but instead oscillating as it gets close to x = 0. This is also to be expected since essential singularities take on all values (except possibly one) of the complex plane infinitely many times (via Picard's Great Theorem) This means if I was able to plot infinite points of exp(1/z) on the computer, the entire complex plane would have every color in my circle except the origin (0 + 0i). But since I'm only doing 2 million points per image I am limited to the few I actually compute (which is what the images and movies are showing).

No comments: