# Singular

#### D.5.7.3 jungfib

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

Usage:
jungfib(J[,is_noeth]);
J = ideal
j = 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) has only quasi-ordinary 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 = jungfib(I,1); def R1 = l[1]; def R2 = l[2]; setring R1; QIdeal; ==> QIdeal[1]=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]=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) ```