|
D.15.9.1 jungresolve
Procedure from library resjung.lib (see resjung_lib).
- Usage:
- jungresolve(ideal J, int i);
J = ideal
i = int
- Assume:
- J = two dimensional ideal
- Return:
- a list l of rings
l[k] 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
a representation of V(J) with Hirzebruch-Jung singularities
and then it currently uses Villamayor's algorithm to resolve
these singularities.
If i!=0 then it's assumed that J is in noether position with respect
to the last two variables.
If i=0 the algorithm computes a coordinate change such that J is in
noether position.
Example:
| LIB "resjung.lib";
ring R=0,(x,y,z),dp;
ideal J=x2+y3z3+y2z5;
list li=jungresolve(J,1);
==> // ** killing the basering for level 0
li;
==> [1]:
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x(4) y(1) y(2) y(3)
==> // block 2 : ordering C
==> [2]:
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x(3) y(0) y(2) y(3)
==> // block 2 : ordering C
==> [3]:
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x(4) y(1) y(2) y(3)
==> // block 2 : ordering C
==> [4]:
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x(3) y(0) y(2) y(3)
==> // block 2 : ordering C
==> [5]:
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names T(1) x x(1) y(0)
==> // block 2 : ordering C
def S=li[1];
setring S;
QIdeal;
==> QIdeal[1]=y(3)^2+y(1)
==> QIdeal[2]=x(4)^7*y(1)^4*y(3)+4*x(4)^6*y(1)^4*y(3)+6*x(4)^5*y(1)^4*y(3)+4*\
x(4)^4*y(1)^4*y(3)+x(4)^3*y(1)^4*y(3)+y(2)
==> QIdeal[3]=x(4)^7*y(1)^5+4*x(4)^6*y(1)^5+6*x(4)^5*y(1)^5+4*x(4)^4*y(1)^5+x\
(4)^3*y(1)^5-y(2)*y(3)
BMap;
==> BMap[1]=x(4)*y(2)+y(2)
==> BMap[2]=x(4)^3*y(1)^2+2*x(4)^2*y(1)^2+x(4)*y(1)^2
==> BMap[3]=x(4)^2*y(1)+x(4)*y(1)
|
|