
CMCLab Implementation NotesThe CMC procedure implemented by CMCLab involves the following computational steps:
The differential equation of the first step is solved by fourthorder RungeKutta 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 userdefinable 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 timeconsuming 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 QRdecomposition, 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.  
