Changeset 858cae in git


Ignore:
Timestamp:
Apr 8, 2011, 8:51:59 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
2272157187c82cb5bd15a8c9b7faff7e3b064132
Parents:
1c4a19588a624228427528fb3b86f2eb66646188
Message:
fix format

git-svn-id: file:///usr/local/Singular/svn/trunk@14130 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular/LIB
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/bfun.lib

    r1c4a19 r858cae  
    319319      if (remembercoeffs <> 0)
    320320      {
    321         j = 0;
    322         k = 0;
    323         intvec posNonZero;
    324         for (i=1; i<=sI; i++)
    325         {
    326           if (I[i] == 0)
     321        j = 0;
     322        k = 0;
     323        intvec posNonZero;
     324        for (i=1; i<=sI; i++)
     325        {
     326          if (I[i] == 0)
    327327          {
    328328            j++;
     
    331331            M[j] = gen(i);
    332332          }
    333           else
    334           {
    335             k++;
    336             M[k+sZeros] = gen(lJ[2][k]);
    337             posNonZero = posNonZero,i;
    338           }
    339         }
    340         posNonZero = posNonZero[2..nrows(posNonZero)];
    341         posNonZero = posNonZero[lJ[2]];
    342         for (i=1; i<=size(lJ[1]); i++)
    343         {
    344           M[i+sZeros] = gen(posNonZero[i]);
    345         }
    346         kill posNonZero;
     333          else
     334          {
     335            k++;
     336            M[k+sZeros] = gen(lJ[2][k]);
     337             posNonZero = posNonZero,i;
     338          }
     339        }
     340         posNonZero = posNonZero[2..nrows(posNonZero)];
     341         posNonZero = posNonZero[lJ[2]];
     342         for (i=1; i<=size(lJ[1]); i++)
     343         {
     344           M[i+sZeros] = gen(posNonZero[i]);
     345         }
     346        kill posNonZero;
    347347      }
    348348      else
     
    403403          if (lm == lmJ[j])
    404404          {
    405             dbprint(ppl-1,"// reducing " + string(redpoly));
     405            dbprint(ppl-1,"// reducing " + string(redpoly));
    406406            dbprint(ppl-1,"//  with " + string(J[j]));
    407407            c = leadcoef(redpoly)/leadcoef(J[j]);
  • Singular/LIB/freegb.lib

    r1c4a19 r858cae  
    25652565PURPOSE: compute the inhomogeneous Serre's relations associated to A in given
    25662566@*       variable names
    2567 ASSUME: three ideals in the input are of the same sizes and contain merely 
     2567ASSUME: three ideals in the input are of the same sizes and contain merely
    25682568@* variables which are interpreted as follows: N resp. P stand for negative
    25692569@* resp. positive roots, C stand for Cartan elements. d is the degree bound for
     
    31753175RETURN: poly
    31763176PURPOSE: computation of the normalform of p with respect to G
    3177 ASSUME: p is a Letterplace polynomial, G is a set Letterplace polynomials, 
     3177ASSUME: p is a Letterplace polynomial, G is a set Letterplace polynomials,
    31783178being a Letterplace Groebner basis (no check for this will be done)
    31793179NOTE: Strategy: take the smallest monomial wrt ordering for reduction
     
    32353235 }
    32363236 for (j = 1; j <= d; j++)
    3237   {l=(j-1)*n+1; k= j*n; 
     3237  {l=(j-1)*n+1; k= j*n;
    32383238   w = I[l..k];
    32393239   if (w==intvec(0)){w = I[1..(l-1)]; return(w);}//if a zero block is found there are only zero blocks left,
     
    33443344  {s = dShiftDiv(V, L[i])[1];
    33453345   if (s <> -1)
    3346    {p = lpReduce(p,G[i],s); 
     3346   {p = lpReduce(p,G[i],s);
    33473347    p = lpNormalForm1(p,G,L);
    33483348    break;
     
    33713371  if (bla == 0) {lv = cq[1..i*n]; cq = cq[(i*n+1)..(d*n)]; break;}
    33723372 }
    3373  
     3373
    33743374 d = size(cq)/n;
    33753375 for (i = 1; i<= d; i++)
     
    34513451   else {l = l[(n+1)..(n*d)]; d = d-1;}
    34523452 }
    3453  
     3453
    34543454 while (1 <= d)
    34553455  {for (j = 1; j <= n; j++)
  • Singular/LIB/resjung.lib

    r1c4a19 r858cae  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: jung.lib,v 1.0 2011/27/03 10:32:00 Singular Exp $";
     2version="$Id$";
    33category="Commutative Algebra";
    44info="
    55LIBRARY:  jung.lib      Resolution of surface singularities (Desingularization)
    66                           Algorithm of Jung
    7 AUTHOR:  Philipp Renner,   philipp_renner@web.de 
     7AUTHOR:  Philipp Renner,   philipp_renner@web.de
    88
    99PROCEDURES:
    10  jungresolve(J[,is_noeth])  computes a resolution (!not a strong one) of the 
     10 jungresolve(J[,is_noeth])  computes a resolution (!not a strong one) of the
    1111                            surface given by the ideal J using Jungs Method,
    1212 jungnormal(J[,is_noeth])   computes a representation of J such that all it's
     
    2626//Main procedure
    2727//-----------------------------------------------------------------------------------------
    28  
    29 proc jungfib(ideal id, list #) 
     28
     29proc jungfib(ideal id, list #)
    3030"USAGE:  jungfib(J[,is_noeth]);
    3131@*       J = ideal
     
    3333ASSUME:  J  = two dimensional ideal
    3434RETURN:  a list l of rings
    35          l[i] is a ring containing two Ideals: QIdeal and BMap. 
    36          BMap defines a birational morphism from V(QIdeal)-->V(J), such that 
     35         l[i] is a ring containing two Ideals: QIdeal and BMap.
     36         BMap defines a birational morphism from V(QIdeal)-->V(J), such that
    3737         V(QIdeal) has only quasi-ordinary singularities.
    3838         If is_noeth=1 the algorithm assumes J is in noether position with respect to
    39          the last two variables. As a default or if is_noeth = 0 the algorithm computes 
     39         the last two variables. As a default or if is_noeth = 0 the algorithm computes
    4040         a coordinate change such that J is in noether position.
    4141         NOTE: since the noether position algorithm is randomized the performance
     
    5656  I = radical(id);
    5757  def A = basering;
    58   int n = nvars(A);                           
     58  int n = nvars(A);
    5959  if(deg(NF(1,groebner(slocus(id)))) == -1){
    6060    list result;
     
    6868  if(char(A) <> 0){ERROR("only works for characterisitc 0");}  //dummy check
    6969  if(dim(I)<> 2){ERROR("dimension is unequal 2");}  //dummy check
    70 //Noether Normalization 
     70//Noether Normalization
    7171  if(noeth == 0){
    7272    if(n==3){
     
    8585        }
    8686        map phi = A,NoetherPos;
    87         kill i,pos,NoetherPos; 
    88       }
    89     }
    90     else{ 
     87        kill i,pos,NoetherPos;
     88      }
     89    }
     90    else{
    9191      map phi = A,NoetherPosition(I);
    9292    }
     
    9797    map phi = A,maxideal(1);
    9898  }
    99   kill I; 
    100 //Critical Locus 
     99  kill I;
     100//Critical Locus
    101101  def C2 = branchlocus(NoetherN);
    102102  setring C2;
     
    122122    return(result);
    123123  }
    124    
    125 //dim of critical locus is 1, so compute embedded resolution of the discriminant curve 
     124
     125//dim of critical locus is 1, so compute embedded resolution of the discriminant curve
    126126  list embresolvee = embresolve(clocus);
    127  
     127
    128128//build the fibreproduct
    129129  setring A;
     
    157157ASSUME:  J  = two dimensional ideal
    158158RETURN:  a list l of rings
    159          l[i] is a ring containing two Ideals: QIdeal and BMap. 
    160          BMap defines a birational morphism from V(QIdeal)-->V(J), such that 
     159         l[i] is a ring containing two Ideals: QIdeal and BMap.
     160         BMap defines a birational morphism from V(QIdeal)-->V(J), such that
    161161         V(QIdeal) has only singularities of Hizebuch-Jung type.
    162162         If is_noeth=1 the algorithm assumes J is in noether position with respect to
    163          the last two variables. As a default or if is_noeth = 0 the algorithm computes 
     163         the last two variables. As a default or if is_noeth = 0 the algorithm computes
    164164         a coordinate change such that J is in noether position.
    165165         NOTE: since the noether position algorithm is randomized the performance
     
    225225ASSUME:  J  = two dimensional ideal
    226226RETURN:  a list l of rings
    227          l[i] is a ring containing two Ideals: QIdeal and BMap. 
    228          BMap defines a birational morphism from V(QIdeal)-->V(J), such that 
    229          V(QIdeal) is smooth. For this the algorithm computes first with 
     227         l[i] is a ring containing two Ideals: QIdeal and BMap.
     228         BMap defines a birational morphism from V(QIdeal)-->V(J), such that
     229         V(QIdeal) is smooth. For this the algorithm computes first with
    230230         jungnormal a representation of V(J) with Hirzebruch-Jung singularities
    231231         and then it uses Villamayor's algorithm to resolve these singularities
    232232         If is_noeth=1 the algorithm assumes J is in noether position with respect to
    233          the last two variables. As a default or if is_noeth = 0 the algorithm computes 
     233         the last two variables. As a default or if is_noeth = 0 the algorithm computes
    234234         a coordinate change such that J is in noether position.
    235235         NOTE: since the noether position algorithm is randomized the performance
     
    284284  }
    285285  return(result);
    286 }   
     286}
    287287example{
    288288    "EXAMPLE:";echo = 2;
     
    305305//Critical locus for the Weierstrass map induced by the noether normalization
    306306//---------------------------------------------------------------------------------------
    307 static proc branchlocus(ideal id)     
     307static proc branchlocus(ideal id)
    308308{
    309309//"USAGE:  branchlocus(ideal J);
    310310//       J = ideal
    311311//ASSUME:  J  = two dimensional ideal in noether position with respect of
    312 //         the last two variables 
     312//         the last two variables
    313313//RETURN:  A ring containing the ideal clocus respresenting the criticallocus
    314314// of the projection V(J)-->C^2 on the last two coordinates
     
    324324      lowdim = intersect(lowdim,radical(l[j]));
    325325    }
    326   } 
     326  }
    327327  kill k;
    328328  lowdim = radical(lowdim);
    329   ideal I = radical(l[size(l)]); 
     329  ideal I = radical(l[size(l)]);
    330330  poly product=1;
    331   kill l;                             
     331  kill l;
    332332  for(int i=1; i < n-1; i++){ //elimination of all variables exept var(i),var(n-1),var(n)
    333333    intvec v;
     
    349349    ringl[3]=ll;
    350350    kill l,ll;
    351     def R = ring(ringl); //now x_j > x_i > x_n-1 > x_n forall j <> i,n-1,n 
     351    def R = ring(ringl); //now x_j > x_i > x_n-1 > x_n forall j <> i,n-1,n
    352352    setring R;
    353353    ideal J = groebner(fetch(A,I));//this eliminates the variables
    354354    setring A;
    355     ideal J = fetch(R,J);   
     355    ideal J = fetch(R,J);
    356356    attrib(J,"isPrincipal",0);
    357357    if(size(J)==1){
     
    380380      setring A;
    381381    }
    382     product = product*resultant(J[index],diff(J[index],var(i)),var(i)); 
     382    product = product*resultant(J[index],diff(J[index],var(i)),var(i));
    383383    //Product of the discriminants, which lies in C2
    384384    kill index,J,v;
     
    405405    def R = embresolve[i];
    406406    setring R;
    407     list temp = ringlist(A); 
    408     //data for the new ring which is, if A=K[x_1,..,x_n] and 
     407    list temp = ringlist(A);
     408    //data for the new ring which is, if A=K[x_1,..,x_n] and
    409409    //R=K[y_1,..,y_m], K[x_1,..,x_n-2,y_1,..,y_m]
    410410    for(int j = 1; j<= nvars(R);j++){
     
    418418    int m = size(J);
    419419    def R2 = ring(temp);
    420     kill temp; 
     420    kill temp;
    421421    setring R2;
    422422    ideal Temp=0;              //defines map from R to R2 which is the inclusion
     
    432432    FibPMI= FibPMI+ideal(f(J));
    433433    map FibMap = A,FibPMI;
    434     kill f,FibPMI; 
     434    kill f,FibPMI;
    435435    ideal TotalT = groebner(FibMap(NoetherN));
    436436    ideal QIdeal = TotalT;
     
    450450//-------------------------------------------------------------------------------
    451451
    452 static proc embresolve(ideal C) 
     452static proc embresolve(ideal C)
    453453"USAGE:  embresolve(ideal C);
    454454@*       C = ideal
    455 ASSUME:  C  = ideal of plane curve 
     455ASSUME:  C  = ideal of plane curve
    456456RETURN:  a list l of rings
    457457         l[i] is a ring containing a basic object BO, the result of the
    458          resolution. Whereas the algorithm does not resolve normal 
     458         resolution. Whereas the algorithm does not resolve normal
    459459         crossings of V(C)
    460460EXAMPLE: example embresolve shows an example
     
    464464  attrib(J,"iswholeRing",1);
    465465  list primdec = equidim(C);
    466   if(size(primdec)==2){   
    467   //zero dimensional components of the discrimiant curve are smooth 
     466  if(size(primdec)==2){
     467  //zero dimensional components of the discrimiant curve are smooth
    468468  //an cross normally so they can be ignored in the resolution process
    469469    ideal Lowdim = radical(primdec[1]);
     
    478478  list result = resolve2(BO);
    479479  if(defined(Lowdim)){
    480     for(int i = 1;i<=size(result);i++){ 
     480    for(int i = 1;i<=size(result);i++){
    481481    //had zero dimensional components which I add now to the end result
    482482      def RingforEmbeddedResolution = result[i];
    483       setring RingforEmbeddedResolution; 
     483      setring RingforEmbeddedResolution;
    484484      map f = R2,BO[5];
    485485      BO[2]=BO[2]*f(Lowdim);
     
    492492{
    493493  "EXAMPLE:";echo=2;
    494   //The following curve is the critical locus of the projection z2-x3-y3 
     494  //The following curve is the critical locus of the projection z2-x3-y3
    495495  //onto y,z-coordinates.
    496496  ring R = 0,(y,z),dp;
     
    506506
    507507static proc resolve2(list BO){
    508 //computes an embedded resolution for the basic object BO and returns 
     508//computes an embedded resolution for the basic object BO and returns
    509509//a list of rings with BO
    510510  def H = basering;
     
    515515  result[1]=H;
    516516  attrib(result[1],"isResolved",0);    //has only simple normal crossings
    517   attrib(result[1],"smoothC",0);       //has smooth components 
     517  attrib(result[1],"smoothC",0);       //has smooth components
    518518  int safety=0;                        //number of runs restricted to 30
    519519  while(1){
     
    525525        def R = result[j];
    526526        setring R;
    527         if(attrib(result[j],"smoothC")==0){     
     527        if(attrib(result[j],"smoothC")==0){
    528528        //has possibly singular components so choose a singular point and blow up
    529529          list primdecPC = primdecGTZ(BO[2]);
     
    540540              if(defined(blowup)){kill blowup;}
    541541              list blowup = blowUpBO(BO,primdecSL[index][2],3);
    542               //if it has a rational singularity blow it up else choose 
     542              //if it has a rational singularity blow it up else choose
    543543              //some arbitary singular point
    544               if(attrib(primdecSL[1],"isRational")==0){ 
    545               //if we blow up a non rational singularity the exeptional divisors 
     544              if(attrib(primdecSL[1],"isRational")==0){
     545              //if we blow up a non rational singularity the exeptional divisors
    546546              //are reduzible so we need to separate them
    547547                for(int k=1;k<=size(blowup);k++){
     
    591591          kill i,primdecPC;
    592592          j=p;
    593           break; 
     593          break;
    594594        }
    595595        else{ //if it has smooth components determine all the intersection
     
    692692    list L;
    693693    intvec v = 1,1,1;
    694     L[1] = "lp";     
     694    L[1] = "lp";
    695695    L[2] = v;
    696696    kill v;
     
    716716      if(defined(k)){kill k;}
    717717      for(int k = 2;k<=3;k++){  //checks whether f is monic in var(i)
    718         if(v[k] <> 0 || v[1] == 0){ 
     718        if(v[k] <> 0 || v[1] == 0){
    719719          attrib(v,"isMonic",0);
    720720          j++;
     
    739739
    740740////copied from resolve.lib/////////////////
    741 static proc normalCrossing(ideal J,list E,ideal V)       
     741static proc normalCrossing(ideal J,list E,ideal V)
    742742"Internal procedure - no help and no example available
    743743"
     
    745745   int i,d,j;
    746746   int n=nvars(basering);
    747    list E1,E2;                   
     747   list E1,E2;
    748748   ideal K,M,Estd;
    749749   intvec v,w;
    750750
    751    for(i=1;i<=size(E);i++) 
     751   for(i=1;i<=size(E);i++)
    752752   {
    753753      Estd=std(E[i]+J);
     
    758758   }
    759759   E=E1;
    760    for(i=1;i<=size(E);i++)   
     760   for(i=1;i<=size(E);i++)
    761761   {
    762762      v=i;
     
    764764   }
    765765   list ll;
    766    int re=1;         
    767 
    768    while((size(E1)>0)&&(re==1))   
     766   int re=1;
     767
     768   while((size(E1)>0)&&(re==1))
    769769   {
    770       K=E1[1][1];                 
    771       v=E1[1][2];                 
     770      K=E1[1][1];
     771      v=E1[1][2];
    772772      attrib(K,"isSB",1);
    773773      E1=delete(E1,1);
    774       d=n-dim(K);               
    775       M=minor(jacob(K),d)+K;     
    776       if(deg(std(M+V)[1])>0)     
     774      d=n-dim(K);
     775      M=minor(jacob(K),d)+K;
     776      if(deg(std(M+V)[1])>0)
    777777      {
    778778         re=0;
     
    781781      for(i=1;i<=size(E);i++)
    782782      {
    783          for(j=1;j<=size(v);j++){if(v[j]==i){break;}} 
    784          if(j<=size(v)){if(v[j]==i){i++;continue;}}   
    785          Estd=std(K+E[i]);                             
     783         for(j=1;j<=size(v);j++){if(v[j]==i){break;}}
     784         if(j<=size(v)){if(v[j]==i){i++;continue;}}
     785         Estd=std(K+E[i]);
    786786         w=v;
    787787         if(deg(Estd[1])==0){i++;continue;}
    788          if(d==n-dim(Estd))                           
     788         if(d==n-dim(Estd))
    789789         {
    790790            if(deg(std(Estd+V)[1])>0)
  • Singular/LIB/sagbi.lib

    r1c4a19 r858cae  
    1515
    1616REFERENCES:
    17 Ana Bravo: Some Facts About Canonical Subalgebra Bases, 
     17Ana Bravo: Some Facts About Canonical Subalgebra Bases,
    1818MSRI Publications  51, p. 247-254
    1919
     
    137137   */
    138138  int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    139   dbprint(ppl,"//Spoly-1- initialisation and precomputation"); 
     139  dbprint(ppl,"//Spoly-1- initialisation and precomputation");
    140140  def br=basering;
    141141  ideal varsBasering=maxideal(1);
     
    169169  }
    170170  //--------------- calculate kernel of Phi depending on method choosen ---------------
    171   dbprint(ppl,"//Spoly-2- Groebner basis computation"); 
     171  dbprint(ppl,"//Spoly-2- Groebner basis computation");
    172172  attrib(kernOld,"isSB",1);
    173173  ideal kern=stdKernPhi(kernNew,kernOld,leadTermsAlgebra,method);
    174   dbprint(ppl-2,"//Spoly-2-1- ideal kern",kern);       
     174  dbprint(ppl-2,"//Spoly-2-1- ideal kern",kern);
    175175  //-------------------------- calulate algebraic relations -----------------------
    176   dbprint(ppl,"//Spoly-3- computing new algebraic relations"); 
     176  dbprint(ppl,"//Spoly-3- computing new algebraic relations");
    177177  ideal algebraicRelations=nselect(kern,1..nvars(br));
    178178  attrib(algebraicRelationsOld,"isSB",1);
     
    201201   */
    202202  int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    203   dbprint(ppl,"//Spoly-1- initialisation and precomputation"); 
     203  dbprint(ppl,"//Spoly-1- initialisation and precomputation");
    204204  def br=basering;
    205205  int m=ncols(algebra);
     
    241241  ideal algebraicRelations=toric_ideal(A,"ect");
    242242  //Suitable substitution
    243         dbprint(ppl,"//Spoly-3- substitutions");       
     243        dbprint(ppl,"//Spoly-3- substitutions");
    244244  ideal leadCoefficients=fetch(br,leadCoefficients);
    245245  for (i=1; i<=m; i++)
     
    250250    }
    251251  }
    252         dbprint(ppl-2,"//Spoly-3-1- algebraic relations",algebraicRelations);   
     252        dbprint(ppl-2,"//Spoly-3-1- algebraic relations",algebraicRelations);
    253253  export algebraicRelations;
    254254  return(rNew);
     
    268268   * algebraicDependence causes this procedure to be called with parRed<>0. The only difference when parRed<>0
    269269   * is that the reduction algorithms returns the non-zero constants it attains (instead of just returning zero as the
    270         * correct remainder), as they will be expressions in parameters for an algebraic dependence.
     270        * correct remainder), as they will be expressions in parameters for an algebraic dependence.
    271271   */
    272272  int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    273   dbprint(ppl,"//Red-1- initialisation and precomputation");   
     273  dbprint(ppl,"//Red-1- initialisation and precomputation");
    274274  def br=basering;
    275275  int numVarsBasering=nvars(br);
     
    279279  if (numVarsBasering==nvars(r))
    280280  {
    281                 dbprint(ppl-1,"//Red-1-1- Groebner basis computation");
     281                dbprint(ppl-1,"//Red-1-1- Groebner basis computation");
    282282    /* Case that ring r is the same ring as the basering. Using proc extendRing,
    283283     * stdKernPhi
     
    315315  for (i=1; i<=ncols(F);i++)
    316316  {
    317                 dbprint(ppl-1,"//Red-2-"+string(i)+"- starting with new polynomial");
    318                 dbprint(ppl-2,"//Red-2-"+string(i)+"-1- Polynomial before reduction",F[i]);
     317                dbprint(ppl-1,"//Red-2-"+string(i)+"- starting with new polynomial");
     318                dbprint(ppl-2,"//Red-2-"+string(i)+"-1- Polynomial before reduction",F[i]);
    319319    normalform=0;
    320320    while (F[i]!=0)
     
    325325      //K is always contained in the subalgebra,
    326326      //thus the remainder is zero in this case
    327         if (parRed) 
    328         { 
    329                                 //If parRed<>0 save non-zero constants the reduction algorithms attains.
    330                                         break;
    331                                 }
    332         else 
    333         { 
    334                                         F[i]=0;
    335                                         break;
    336                                 }
     327        if (parRed)
     328        {
     329                                //If parRed<>0 save non-zero constants the reduction algorithms attains.
     330                                        break;
     331                                }
     332        else
     333        {
     334                                        F[i]=0;
     335                                        break;
     336                                }
    337337      }
    338338      //note: as the ordering in br and r might not be compatible
     
    423423 *   and iterations specifies the
    424424 *   number of iterations. A degree boundary is not used here.
    425  * When this method is called via the procedures sagbi and sagbiPart the integer parRed 
    426  * will always be zero. Only the procedure algebraicDependence calls this procedure with 
    427  * parRed<>0. The only difference when parRed<>0 is that the reduction algorithms returns 
    428  * the non-zero constants it attains (instead of just returning zero as the correct 
    429  * remainder), as they will be expressions in parameters for an algebraic dependence. 
     425 * When this method is called via the procedures sagbi and sagbiPart the integer parRed
     426 * will always be zero. Only the procedure algebraicDependence calls this procedure with
     427 * parRed<>0. The only difference when parRed<>0 is that the reduction algorithms returns
     428 * the non-zero constants it attains (instead of just returning zero as the correct
     429 * remainder), as they will be expressions in parameters for an algebraic dependence.
    430430 * These constants are saved in the ideal reducedParameters.
    431431 */
    432432{
    433433  int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    434   dbprint(ppl,"// -0- initialisation and precomputation");     
     434  dbprint(ppl,"// -0- initialisation and precomputation");
    435435  def br=basering;
    436436  int i=1;
     
    874874RETURN: ring
    875875ASSUME: basering is not a qring
    876 PURPOSE: Returns a ring containing the ideal @code{algDep}, which contains possibly 
    877 @*              some algebraic dependencies of the elements of I obtained through @code{it}
    878 @*              iterations of the SAGBI construction algorithms. See the example on how
    879 @*              to access these objects.
     876PURPOSE: Returns a ring containing the ideal @code{algDep}, which contains possibly
     877@*                 some algebraic dependencies of the elements of I obtained through @code{it}
     878@*                 iterations of the SAGBI construction algorithms. See the example on how
     879@*                 to access these objects.
    880880EXAMPLE: example algebraicDependence; shows an example"
    881881{
    882         assumeQring();
    883         int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    884   dbprint(ppl,"//AlgDep-1- initialisation and precomputation"); 
     882        assumeQring();
     883        int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
     884  dbprint(ppl,"//AlgDep-1- initialisation and precomputation");
    885885  def br=basering;
    886886  int i;
    887887  I=simplify(I,2); //avoid that I contains zeros
    888888
    889         //Create two polynomial rings, which both are extensions of the current basering.
     889        //Create two polynomial rings, which both are extensions of the current basering.
    890890  //The first ring will contain the additional paramteres @c(1),...,@c(m), the second one
    891891  //will contain the additional variables @c(1),...,@c(m), where m=ncols(I).
     
    953953  //         }
    954954
    955         //Compute a partial SAGBI basis of the algebra generated by I[1]-@c(1),...,I[m]-@c(m),
     955        //Compute a partial SAGBI basis of the algebra generated by I[1]-@c(1),...,I[m]-@c(m),
    956956  //where the @c(n) are parameters
    957957  ideal I=fetch(br,I);
     
    961961    algebra[i]=I[i]-par(i);
    962962  }
    963   dbprint(ppl,"//AlgDep-2- call of SAGBI construction algorithm");     
     963  dbprint(ppl,"//AlgDep-2- call of SAGBI construction algorithm");
    964964  algebra=sagbiConstruction(algebra, iterations,0,0,1);
    965   dbprint(ppl,"//AlgDep-3- postprocessing of results"); 
     965  dbprint(ppl,"//AlgDep-3- postprocessing of results");
    966966  int j=1;
    967967  //If K[x_1,...,x_n] was the basering, then algebra is in K(@c(1),...,@c(m))[x_1,...x_n]. We intersect
     
    985985  for (i=1; i<=ncols(algDep); i++)
    986986  {
    987                 if(leadmonom(algDep[i])==1)
    988                 {
    989                                 algDep[i]=0;
    990                 }
    991         }
    992         algDep=simplify(algDep,2);
     987                if(leadmonom(algDep[i])==1)
     988                {
     989                                algDep[i]=0;
     990                }
     991        }
     992        algDep=simplify(algDep,2);
    993993  export algDep,algebra;
    994994  setring br;
     
    10181018  /* performs subalgebra interreduction of a set of subalgebra generators */
    10191019  int ppl = printlevel-voice+3; //variable for additional printlevel-dependend information
    1020   dbprint(ppl,"//Interred-1- starting interreduction"); 
     1020  dbprint(ppl,"//Interred-1- starting interreduction");
    10211021  ideal J,B;
    10221022  int i,j,k;
     
    10311031  }
    10321032  I=simplify(I,2);
    1033   dbprint(ppl,"//Interred-2- interreduction completed");       
     1033  dbprint(ppl,"//Interred-2- interreduction completed");
    10341034  return(I);
    10351035}
Note: See TracChangeset for help on using the changeset viewer.