Computational Conformal Geometry Library - CCGL
CCGL logo

Introduction

Getting CCGL
    Download
    Installation


Development Guide
    Architecture
    Performance


Gallery
    Snapshots
    Movies

Mesh Data Structure
    Viewer

Topology
    Cut Graph
    Slicer
    Double Cover
    Homology Basis

Conformal Maps
    Harmonic Map
    Spherical Harmonic Map
    LSCM

Holomorphic 1-Form
    Integration
    Harmonic 1-Form
    Holomorphic 1-Form
    Slit Map

Curvature Flow
    Euclidean Ricci Flow
    Poly Annulus Ricci Flow
    Hyperbolic Ricci Flow
    Yamabe Flow

Documentation
    Reference Book

Acknowledgements
Performance

In mathematics, everything is ideal. In real world, many real factors can undermine the algorithms. Designing robust and stable algorithms is more challenging than understanding the profound theories. The utlimate goal is to design and implement algorithms, which are theoretically sound, conceptually beautiful, and practically robust and efficient.

The followings are key factors which affect the stability of the algorithm:

  • Most problem can be formulated in the variational setting. Namely, a special energy form can be found, the minimizer of the energy gives us the solution to the problem. It is the most important that the energy is convex, namely, its Hessian matrix should be positive definite. This will gurantee the uniqueness of the solution and the energy minimization process is stable.

  • The algorithm for solving linear system. Different linear algorithm can affect the stability of the program enormously. For example, if the condition number of the system is too high, it is better to use singular value decomposition to solve it. In CCGL, if the input mesh quality is not good, choosing the linear system solving method is critical.

  • The quality of the input mesh. From Finite Element Method literature, it is well known that in order to improve the computational accuracy and stablity, the triangulation should try to avoid too many obtuse angles. In the theory of discrete curvature flow, it is clear that the triangulation determines the addmissible curvature space. If the triangulation is inappropriate, then the desired solution may not exists or unreachable.
In practice, curvature flow methods are much more flexible than other methods. But they are more sensitive than conformal mapping and holomorphic form methods. yamabe flow method is stabler than other curvature flow methods.

Furthermore, most algorithm in computational conformal geometry can be implemented by parallel algorithms, which can improve the efficiency greatly. There are also many engineering issues, like memory management, random memory access pattern, out of core mesh processing, which also are important in practice.