# Singular          #### D.8.4.3 triangM

Procedure from library `triang.lib` (see triang_lib).

Usage:
triangM(G[,i]); G=ideal, i=integer,

Assume:
G is the reduced lexicographical Groebner basis of the zero-dimensional ideal (G), sorted by increasing leading terms.

Return:
a list of finitely many triangular systems, such that the union of their varieties equals the variety of (G). If i = 2, then each polynomial of the triangular systems is factorized.

Note:
Algorithm of Moeller (see: Moeller, H.M.: On decomposing systems of polynomial equations with finitely many solutions, Appl. Algebra Eng. Commun. Comput. 4, 217 - 230, 1993).

Example:
 ```LIB "triang.lib"; ring rC5 = 0,(e,d,c,b,a),lp; triangM(stdfglm(cyclic(5))); //oder: triangM(stdfglm(cyclic(5)),2); ==> : ==> _=a5-1 ==> _=b-a ==> _=c-a ==> _=d2+3da+a2 ==> _=e+d+3a ==> : ==> _=a10+123a5+1 ==> _=55b2-2ba6-233ba-8a7-987a2 ==> _=55c+a6+144a ==> _=55d+a6+144a ==> _=55e+55b-2a6-233a ==> : ==> _=a5-1 ==> _=b6+4b5a+5b4a2+5b3a3+5b2a4+4b+a ==> _=5c+8b5a+30b4a2+30b3a3+25b2a4+30b+22a ==> _=5d-2b5a-10b4a2-15b3a3-10b2a4-10b-8a ==> _=5e-6b5a-20b4a2-15b3a3-15b2a4-15b-9a ==> : ==> _=a5-1 ==> _=b-a ==> _=c2+3ca+a2 ==> _=d+c+3a ==> _=e-a ```

### Misc 