Zipper Algorithm (continued)

Zipper Algorithm (continued)
One of the most important problems in complex analysis is to find a conformal
map of complicated closed region to simpler closed region so that certain computations
can be done in the simpler region, and then the results can be applied to a complicated
region. The Zipper algorithm helps us to solve this problem in 2D space.
The Zipper algorithm computes numerically a conformal map of complex region
to a unit disk or half plane. Of course, if we find such map for 2 regions, then it is not
hard to take the inverse of one of the maps and map the regions to each other.
The purpose of the Zipper project is to study and improve the zipper algorithm.
So far we were able to study and implement the basic version of the Zipper
algorithm, “Geodesic Algorithm”, which is described bellow:
Assume that you have a closed polygon represented as an array of its vertices:
Then you can apply
open subset of the half plane:
to each point z to map the region to an
The point z0 goes to ∞ and the point z1 goes to 0. This is called unzipping step.
Z0…zn consists straight line segments, but if they are small, we can think of z0…zn
consisting of curve segments. What we want is the map
that will take the
piece of the boundary to the real axis. Consider the transformation shown on a figure
bellow:
Now you can apply a composition of transformations
then the region will go to a disk (and then if needed we can map the disk to a
half plane) and the boundary will lie on the real axis.
The running time of the algorithm is determined by the fact that in order to compute φ2,
we need to compute φ1(z2). In order to compute φ3, we need to compute φ2φ1(z3). In order
to compute φ4, we need to compute φ3φ2φ1(z3), and so on. Therefore, the total time to
compute our composition is quadratic. The idea for the speedup is following: if we can
compute a polynomial approximation (Laurent series) to φ1…φk-1 then φk can also be
computed as a polynomial approximation, leaving only the fixed number of the most
significant terms(about 10 or 12). The question whether this can be done depends on
finding an accurate approximation and computing only the necessary terms, which is
what we plan to investigate.
Current Progress
Currently, the basic algorithm has been implemented as a Java program. More description
to follow in the end report.