#### D.5.8.4 resolve

Procedure from library `resolve.lib` (see resolve_lib).

Usage:
  resolve (J); or resolve (J,i[,k]);
  J ideal
  i,k int

Compute:
  a resolution of J,
  if i > 0 debugging is turned on according to the following switches:
  j1: value 0 or 1; turn off or on correctness checks in all steps
  j2: value 0 or 2; turn off or on debugCenter
  j3: value 0 or 4; turn off or on debugBlowUp
  j4: value 0 or 8; turn off or on debugCoeff
  j5: value 0 or 16:turn off or on debugging of Intersection with E^-
  j6: value 0 or 32:turn off or on stop after pass throught the loop
  i=j1+j2+j3+j4+j5+j6

Return:
  a list l of 2 lists of rings
  l[1][i] is a ring containing a basic object BO, the result of the resolution.
  l[2] contains all rings which occured during the resolution process

Note:
  result may be viewed in a human readable form using presentTree()

Example:

    LIB "resolve.lib";
    ring R=0,(x,y,z),dp;
    ideal J=x3+y5+yz2+xy4;
    list L=resolve(J,0);
    def Q=L[1][7];
    setring Q;
    showBO(BO);
    ==>
    ==> ==== Ambient Space:
    ==> _[1]=0
    ==>
    ==> ==== Ideal of Variety:
    ==> _[1]=x(1)^4*x(3)^2*y(1)+x(1)^2+y(1)+1
    ==>
    ==> ==== Exceptional Divisors:
    ==> [1]:
    ==>    _[1]=1
    ==> [2]:
    ==>    _[1]=y(1)
    ==> [3]:
    ==>    _[1]=1
    ==> [4]:
    ==>    _[1]=x(1)
    ==> [5]:
    ==>    _[1]=x(3)
    ==>
    ==> ==== Images of variables of original ring:
    ==> _[1]=x(1)^6*x(3)^5*y(1)^2
    ==> _[2]=x(1)^4*x(3)^3*y(1)
    ==> _[3]=x(1)^7*x(3)^6*y(1)^2
    ==>

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