#### D.5.7.1 jungresolve

Procedure from library `resjung.lib` (see resjung_lib).

Usage:
  jungresolve(ideal J[,is_noeth]);
  J = ideal
  i = int

Assume:
  J = two dimensional ideal

Return:
  a list l of rings
  l[i] is a ring containing two Ideals: QIdeal and BMap. BMap defines a birational morphism from V(QIdeal)-->V(J), such that V(QIdeal) is smooth. For this the algorithm computes first with jungnormal a representation of V(J) with Hirzebruch-Jung singularities and then it uses Villamayor's algorithm to resolve these singularities If is_noeth=1 the algorithm assumes J is in noether position with respect to the last two variables. As a default or if is_noeth = 0 the algorithm computes a coordinate change such that J is in noether position. NOTE: since the noether position algorithm is randomized the performance can vary significantly.

Example:

    LIB "resjung.lib";
    //Computing a resolution of singularities of the variety z2-x3-y3
    ring r = 0,(x,y,z),dp;
    ideal I = z2-x3-y3;
    //The ideal is in noether position
    list l = jungresolve(I,1);
    def R1 = l[1];
    def R2 = l[2];
    setring R1;
    QIdeal;
    ==> QIdeal[1]=T(1)*x(2)^2*y(1)-T(2)*x
    ==> QIdeal[2]=T(2)*x(2)^2*y(1)-x
    ==> QIdeal[3]=x(2)^2*y(1)^2-x(2)^2*y(1)-T(1)*x
    ==> QIdeal[4]=T(1)^2-T(2)*y(1)+T(2)
    ==> QIdeal[5]=T(1)*T(2)-y(1)+1
    ==> QIdeal[6]=T(2)^2-T(1)
    ==> QIdeal[7]=x(2)^6*y(1)^4-x(2)^6*y(1)^3-x^3
    BMap;
    ==> BMap[1]=x
    ==> BMap[2]=x(2)^2*y(1)
    ==> BMap[3]=x(2)^3*y(1)^2
    setring R2;
    QIdeal;
    ==> QIdeal[1]=T(2)*x(1)^2+x
    ==> QIdeal[2]=T(1)*x(1)^2*y(0)-T(2)*x
    ==> QIdeal[3]=x(1)^2*y(0)^2-x(1)^2*y(0)-T(1)*x
    ==> QIdeal[4]=T(1)^2-T(2)*y(0)+T(2)
    ==> QIdeal[5]=T(1)*T(2)+y(0)^2-y(0)
    ==> QIdeal[6]=T(2)^2+T(1)*y(0)
    ==> QIdeal[7]=x(1)^6*y(0)^3-x(1)^6*y(0)^2+x^3
    BMap;
    ==> BMap[1]=x
    ==> BMap[2]=x(1)^2*y(0)
    ==> BMap[3]=x(1)^3*y(0)

User manual for Singular version 4-0-3, 2016, generated by texi2html.