Computational Topology and Geometry

G22.3033.007 & G63.2400, Fall 2006


  STATIC INFO: Course Info   |   Course Desc   |   Textbook    |   Course Work   |   Schedule
  DYNAMIC INFO: NYU Bboard   |   Homework Directory   |   Lecture Notes   |   Manuscript on EGC
  RESOURCES: Core Library.   |   Cygwin   |   Links

Course Information

Course Description

We are interested in the computational aspects of the geometry and topology of mathematical objects such as curves and surfaces. Such objects are usually defined by their metric/local properties (like position and curvature). These properties then define topological invariants (like connectivity or orientability) which are global in nature. For instance, a surface S may be specified by their equation F(X,Y,Z)=0. This equation may be regarded as a metric/local description of S. Now, suppose we want to compute global properties like the number of connected components, or the topological type of S from this equation.

Invariably, the first step is to compute a combinatorial approximation of S from the given metric/local information. This combinatorial approximation is called a mesh (or complex). This is the meshing problem. Meshing is a critical step -- as the interface between continuous and discrete computation. The computation involves some combination of numerical and algebraic techniques. A big question is how to guarantee that this step is correct in the presense of numerical errors. (Most published algorithms have no guarantees.) The computational methods depend on the representation of the object. E.g., we would need very different algorithms if the surface S in the previous example were represented by Bezier patches.

The next step is to compute the desired topological property of S from an appropriate mesh representation. The mathematical and computational tools such as homology, Morse theory and subdivision schemes will be developed.

Books and References

Course Work

Grade is based on Homework (30%), 2 Tests (30%), Project (40%).
Homework includes programming assignments. 
       Programming will be in C/C++ and includes the use of the Core Library.

Some Useful Links