# Singular

#### D.8.4.2 triangLfak

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

Usage:
triangLfak(G); G=ideal

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).

Note:
Algorithm of Lazard with factorization (see: Lazard, D.: Solving zero-dimensional algebraic systems, J. Symb. Comp. 13, 117 - 132, 1992).

Remark:
each polynomial of the triangular systems is factorized.

Example:
 ```LIB "triang.lib"; ring rC5 = 0,(e,d,c,b,a),lp; triangLfak(stdfglm(cyclic(5))); ==> [1]: ==> _[1]=a-1 ==> _[2]=b-1 ==> _[3]=c-1 ==> _[4]=d2+3d+1 ==> _[5]=e+d+3 ==> [2]: ==> _[1]=a-1 ==> _[2]=b-1 ==> _[3]=c2+3c+1 ==> _[4]=d+c+3 ==> _[5]=e-1 ==> [3]: ==> _[1]=a-1 ==> _[2]=b4+b3+b2+b+1 ==> _[3]=-c+b2 ==> _[4]=-d+b3 ==> _[5]=e+b3+b2+b+1 ==> [4]: ==> _[1]=a-1 ==> _[2]=b2+3b+1 ==> _[3]=c+b+3 ==> _[4]=d-1 ==> _[5]=e-1 ==> [5]: ==> _[1]=a4+a3+a2+a+1 ==> _[2]=b-1 ==> _[3]=c+a3+a2+a+1 ==> _[4]=-d+a3 ==> _[5]=-e+a2 ==> [6]: ==> _[1]=a4+a3+a2+a+1 ==> _[2]=b-a ==> _[3]=c-a ==> _[4]=d2+3da+a2 ==> _[5]=e+d+3a ==> [7]: ==> _[1]=a4+a3+a2+a+1 ==> _[2]=b-a ==> _[3]=c2+3ca+a2 ==> _[4]=d+c+3a ==> _[5]=e-a ==> [8]: ==> _[1]=a4+a3+a2+a+1 ==> _[2]=b3+b2a+b2+ba2+ba+b+a3+a2+a+1 ==> _[3]=c+b2a3+b2a2+b2a+b2 ==> _[4]=-d+b2a2+b2a+b2+ba2+ba+a2 ==> _[5]=-e+b2a3-ba2-ba-b-a2-a ==> [9]: ==> _[1]=a4+a3+a2+a+1 ==> _[2]=b2+3ba+a2 ==> _[3]=c+b+3a ==> _[4]=d-a ==> _[5]=e-a ==> [10]: ==> _[1]=a4+a3+6a2-4a+1 ==> _[2]=-11b2+6ba3+10ba2+39ba+2b+16a3+23a2+104a-24 ==> _[3]=11c+3a3+5a2+25a+1 ==> _[4]=11d+3a3+5a2+25a+1 ==> _[5]=-11e-11b+6a3+10a2+39a+2 ==> [11]: ==> _[1]=a4-4a3+6a2+a+1 ==> _[2]=-11b2+6ba3-26ba2+41ba-4b-8a3+31a2-40a-24 ==> _[3]=11c+3a3-13a2+26a-2 ==> _[4]=11d+3a3-13a2+26a-2 ==> _[5]=-11e-11b+6a3-26a2+41a-4 ==> [12]: ==> _[1]=a2+3a+1 ==> _[2]=b-1 ==> _[3]=c-1 ==> _[4]=d-1 ==> _[5]=e+a+3 ==> [13]: ==> _[1]=a2+3a+1 ==> _[2]=b+a+3 ==> _[3]=c-1 ==> _[4]=d-1 ==> _[5]=e-1 ```