Changeset 2244d82 in git


Ignore:
Timestamp:
Aug 26, 1999, 2:50:13 PM (25 years ago)
Author:
Thomas Siebert <siebert@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
9f79aa10351ffef3887fd9394c2306929f6564f4
Parents:
05c3d682d484e584b95beb72373d1996d1162b8a
Message:
Change betti:Th. Siebert


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

Legend:

Unmodified
Added
Removed
  • Singular/ideals.cc

    r05c3d68 r2244d82  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ideals.cc,v 1.53 1999-08-19 15:26:12 pohl Exp $ */
     4/* $Id: ideals.cc,v 1.54 1999-08-26 12:50:12 siebert Exp $ */
    55/*
    66* ABSTRACT - all basic methods to manipulate ideals
     
    13371337  h3=kStd(h2,quot,h,w,NULL,*syzcomp);
    13381338  //h3->rank = h2->rank; done by kStd -> initBuchMora -> initS
    1339   h3->rank-=*syzcomp;
     1339  //h3->rank-=*syzcomp;
    13401340  idDelete(&h2);
    13411341  if (orderChanged) pSetSyzComp(0);
     
    13711371    return idFreeModule(IDELEMS(h1));
    13721372  i = -1;
    1373   e=idInit(16,h3->rank);
     1373  e=idInit(16,h3->rank-k);
    13741374  for (j=0; j<IDELEMS(h3); j++)
    13751375  {
  • Singular/syz.cc

    r05c3d68 r2244d82  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: syz.cc,v 1.19 1999-08-19 16:57:11 Singular Exp $ */
     4/* $Id: syz.cc,v 1.20 1999-08-26 12:50:13 siebert Exp $ */
    55
    66/*
     
    710710}
    711711
    712 void syDetect(ideal id,int index,BOOLEAN homog,int * degrees,int * tocancel)
    713 {
    714   int i, j, k, ModComp;
     712int syDetect(ideal id,int index,BOOLEAN homog,int * degrees,int * tocancel)
     713{
     714  int i, j, k, ModComp,subFromRank=0;
    715715  poly p, q, qq, Unit1, Unit2;
    716716  ideal temp;
    717717
    718   if (idIs0(id)) return;
     718  if (idIs0(id)) return 0;
    719719  temp = idInit(IDELEMS(id),id->rank);
    720720  for (i=0;i<IDELEMS(id);i++)
     
    744744  {
    745745    idDelete(&temp);
    746     return;
     746    return 0;
    747747  }
    748748  j = 0;
     
    763763      k = pFDeg(id->m[j])+degrees[pGetComp(id->m[j])];
    764764      if (k>=index) tocancel[k-index]++;
    765       if ((k>0) && (index==0)) tocancel[0]++;
     765      if ((k>=0) && (index==0)) subFromRank++;
    766766    }
    767767    else
     
    801801    {
    802802      idDelete(&temp);
    803       return;
     803      return  subFromRank;
    804804    }
    805805    p = temp->m[j];
     
    807807  }
    808808  idDelete(&temp);
     809  return subFromRank;
    809810}
    810811
     
    822823      deg[i-1] = (*degrees)[i-1]-rsmin;
    823824  }
    824   syDetect(id,index,homog,deg,tocan);
     825  int dummy=syDetect(id,index,homog,deg,tocan);
    825826  for (i=tocancel->length();i>0;i--)
    826827    (*tocancel)[i-1] = tocan[i-1];
     
    917918  memset(temp2,0,l*sizeof(int));
    918919  memset(temp1,0,(l+1)*sizeof(int));
     920  int dummy = syDetect(res[0],0,TRUE,temp2,tocancel);
    919921  if (tomin)
    920     syDetect(res[0],0,TRUE,temp2,tocancel);
    921   (*result)[(-mr)*cols] -= tocancel[0];
     922    (*result)[(-mr)*cols] -= dummy;
    922923  for (i=0;i<cols-1;i++)
    923924  {
     
    937938    if (tomin)
    938939    {
    939       for (j=0;j<rows-1;j++)
     940      for (j=mr;j<rows+mr;j++)
    940941      {
    941942        //(*result)[i+1+j*cols] -= tocancel[j+1];
    942         IMATELEM((*result),j+1,i+2) -= tocancel[j+1];
     943        IMATELEM((*result),j+1-mr,i+2) -= tocancel[j+1];
    943944      }
    944945      if ((i<length-1) && (res[i+1]!=NULL))
    945946      {
    946947        memset(tocancel,0,(rows+1)*sizeof(int));
    947         syDetect(res[i+1],i+1,TRUE,temp2,tocancel);
     948        dummy = syDetect(res[i+1],i+1,TRUE,temp2,tocancel);
    948949        for (j=0;j<rows;j++)
    949950        {
     
    967968  Free((ADDRESS)temp1,(l+1)*sizeof(int));
    968969  Free((ADDRESS)temp2,(l+1)*sizeof(int));
     970  if ((tomin) && (mr<0))  // deletes the first (zero) line
     971  {
     972    for (j=1;j<=rows+mr;j++)
     973    {
     974      for (k=1;k<=cols;k++)
     975      {
     976        IMATELEM((*result),j,k) = IMATELEM((*result),j-mr,k);
     977      }
     978    }
     979    for (j=rows+mr+1;j<=rows;j++)
     980    {
     981      for (k=1;k<=cols;k++)
     982      {
     983        IMATELEM((*result),j,k) = 0;
     984      }
     985    }
     986  }
    969987  j = 0;
    970988  k = 0;
Note: See TracChangeset for help on using the changeset viewer.