Changeset 246a66 in git


Ignore:
Timestamp:
Feb 15, 2024, 2:47:17 PM (3 months ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
083f003065d6d79ac5e85e9da00f276e58a5aacb
Parents:
c7c2d4b890e7240d503735adc7d3f2ab61cd4adf
Message:
cohomo.cc p1
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/dyn_modules/cohomo/cohomo.cc

    rc7c2d4b89 r246a66  
    4949static void listprint(std::vector<int> vec)
    5050{
    51   unsigned i;
    52   for(i=0;i<vec.size();i++)
     51  for(unsigned i=0;i<vec.size();i++)
    5352  {
    5453    Print("   _[%d]=%d\n",i+1,vec[i]);
     
    6564static void listsprint(std::vector<std::vector<int> > posMat)
    6665{
    67   unsigned i;
    68   for(i=0;i<posMat.size();i++)
     66  for(unsigned i=0;i<posMat.size();i++)
    6967  {
    7068    Print("[%d]:\n",i+1);
    7169    listprint(posMat[i]);
    72     Print("\n");
     70    PrintLn();
    7371    PrintLn();
    7472  }
     
    8482static void id_print(ideal h)
    8583{
    86   int i;
    87   for(i=0;i<IDELEMS(h);i++)
     84  for(int i=0;i<IDELEMS(h);i++)
    8885  {
    8986    Print(" [%d]\n",i+1);
     
    116113    Print("[%d]:\n",i+1);
    117114    lpprint(pvs[i]);
    118     Print("\n");
     115    PrintLn();
    119116    PrintLn();
    120117  }
     
    132129static bool IsinL(int a, std::vector<int> vec)
    133130{
    134   unsigned i;
    135   for(i=0;i<vec.size();i++)
     131  for(unsigned i=0;i<vec.size();i++)
    136132  {
    137133    if(a==vec[i])
     
    147143static std::vector<int> vecIntersection(std::vector<int> p, std::vector<int> q)
    148144{
    149   unsigned i;
    150145  std::vector<int> inte;
    151   for(i=0;i<p.size();i++)
     146  for(unsigned i=0;i<p.size();i++)
    152147  {
    153148    if(IsinL(p[i],q))
     
    160155static bool vsubset(std::vector<int> vec1, std::vector<int> vec2)
    161156{
    162   int i;
    163157  if(vec1.size()>vec2.size())
    164158    return false;
    165   for(i=0;i<vec1.size();i++)
     159  for(int i=0;i<vec1.size();i++)
    166160  {
    167161    if(!IsinL(vec1[i],vec2))
     
    186180static bool vInvsl(std::vector<int> vec, std::vector<std::vector<int> > vecs)
    187181{
    188   int i;
    189   for(i=0;i<vecs.size();i++)
     182  for(int i=0;i<vecs.size();i++)
    190183  {
    191184    if(vEvl(vec,vecs[i]))
     
    201194{
    202195  std::vector<int> vec=vec1;
    203   unsigned i;
    204   for(i=0;i<vec2.size();i++)
     196  for(unsigned i=0;i<vec2.size();i++)
    205197  {
    206198    if(!IsinL(vec2[i],vec))
     
    225217static std::vector<std::vector<int> > vsMinusv(std::vector<std::vector<int> > vecs, std::vector<int> vec)
    226218{
    227   int i;
    228219  std::vector<std::vector<int> > rem;
    229   for(i=0;i<vecs.size();i++)
     220  for(int i=0;i<vecs.size();i++)
    230221  {
    231222    if(!vEvl(vecs[i],vec))
     
    239230static std::vector<std::vector<int> > vsUnion(std::vector<std::vector<int> > vs1, std::vector<std::vector<int> > vs2)
    240231{
    241   int i;
    242232  std::vector<std::vector<int> > vs=vs1;
    243   for(i=0;i<vs2.size();i++)
     233  for(int i=0;i<vs2.size();i++)
    244234  {
    245235    if(!vInvsl(vs2[i],vs))
     
    253243static std::vector<std::vector<int> > vsIntersection(std::vector<std::vector<int> > vs1, std::vector<std::vector<int> > vs2)
    254244{
    255   int i;
    256245  std::vector<std::vector<int> > vs;
    257   for(i=0;i<vs2.size();i++)
     246  for(int i=0;i<vs2.size();i++)
    258247  {
    259248    if(vInvsl(vs2[i],vs1))
     
    271260static std::vector<int> support1(poly p)
    272261{
    273   int j;
    274262  std::vector<int> supset;
    275   if(p==0) return supset;
    276   for(j=1;j<=rVar(currRing);j++)
     263  if(p==NULL) return supset;
     264  for(int j=1;j<=rVar(currRing);j++)
    277265  {
    278266    if(pGetExp(p,j)>0)
     
    304292static std::vector<int> support2(poly p)
    305293{
    306   int j;
    307294  poly q;
    308295  std::vector<int> supset;
    309   for(j=1;j<=rVar(currRing);j++)
    310   {
    311     q=pCopy(p);
     296  for(int j=1;j<=rVar(currRing);j++)
     297  {
     298    q=p;
    312299    while (q!=NULL)
    313300    {
     
    317304        break;
    318305      }
    319       q=pNext(q);
     306      pIter(q);
    320307    }
    321308  }
     
    343330static poly pMake(std::vector<int> vbase)
    344331{
    345   int n=vbase.size(); poly p,q=0;
     332  int n=vbase.size(); poly p,q;
     333  q=NULL;
    346334  for(int i=0;i<n;i++)
    347335  {
     
    358346static ideal idMake(std::vector<std::vector<int> > vecs)
    359347{
    360   int lv=vecs.size(), i;
     348  int lv=vecs.size();
    361349  poly p;
    362350  ideal id_re=idInit(1,1);
    363   for(i=0;i<lv;i++)
     351  for(int i=0;i<lv;i++)
    364352  {
    365353    p=pMake(vecs[i]);
     
    379367  ideal idq=kNF(gb,NULL,h1);
    380368  idSkipZeroes(idq);
     369  idDelete(&gb);
    381370  return idq;
    382371}
     
    386375static int pcoef(poly p, int m)
    387376{
    388   int i,co; poly q=pCopy(p);
    389   for(i=1;i<=currRing->N;i++)
     377  int co; poly q=p;
     378  for(int i=1;i<=currRing->N;i++)
    390379  {
    391380    if(p_GetExp(q,m,currRing)!=0)
     
    405394static bool vInp(int m,poly p)
    406395{
    407   poly q=pCopy(p);
     396  poly q=p;
    408397  while (q!=NULL)
    409398  {
     
    420409static std::vector<int> vMake(poly p)
    421410{
    422   int i;
    423411  std::vector<int> vbase;
    424   for(i=1;i<=currRing->N;i++)
     412  for(int i=1;i<=currRing->N;i++)
    425413  {
    426414    if(vInp(i,p))
     
    441429  std::vector<int> vec;
    442430  std::vector<std::vector<int> > vecs;
    443   int i;
    444   for(i=0;i<IDELEMS(h);i++)
     431  for(int i=0;i<IDELEMS(h);i++)
    445432  {
    446433    vec=vMake(h->m[i]);
     
    456443  ideal h1=idMake(vec1), h2=idMake(vec2);
    457444  ideal h=idmodulo(h1,h2);
     445  idDelete(&h1);
     446  idDelete(&h2);
    458447  std::vector<std::vector<int> > vecs= vsMake(h);
    459448  return vecs;
     
    934923static ideal finda(ideal h,poly S,int ddeg)
    935924{
    936   poly e=pOne();
    937925  ideal h2=id_complement(h), aset=idInit(1,1);
    938926  int i,deg1=pTotaldegree(S);
     
    954942    idSkipZeroes(aset);
    955943  }
    956   else idInsertPoly(aset,e);
     944  else
     945  {
     946    poly e=pOne();
     947    idInsertPoly(aset,e);
     948  }
    957949  return(aset);
    958950}
Note: See TracChangeset for help on using the changeset viewer.