CMCLab Implementation Notes
The CMC procedure implemented by CMCLab involves the following computational steps:
The differential equation of the first step is solved by fourth-order Runge-Kutta methods. Since the loop algebra elements in question are, from the numerical point of view, a matrix whose entries are Laurent series expansions, the CMCLab implementation performs its computations with finite vectors representing truncated Laurent expansions with user-definable length.
The Iwasawa decomposition, the heart of the CMC procedure, has been implemented and optimized for the first time in CMCLab. This step, the most time-consuming and numerically unstable part of the CMC computation, is reducible to the problem of computing, at each meshpoint of the CMC surface to be generated, projections to linear subspaces generated by loop group elements. CMCLab offers the user a choice of methods, Cholesky decomposition and QR-decomposition, to optimize this part of the calculation. Once this factorization is performed, the full geometric data -- metric, Gauss map, and Hopf form -- for the CMC surface and its associate family are computed.
CMC surfaces whose underlying domain has topology require initial conditions (dressing matrix) which close the surface; these are found by numerically minimizing the normal and translational periods on the surface using conjugate gradient methods. Using these tools, Schmitt has computed embedded CMC trinoids and new trinoids with nodoid ends.