- Timestamp:
- Feb 16, 2024, 12:11:33 PM (3 months ago)
- Branches:
- (u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
- Children:
- c0f61451de447d7d807ab4f5154239ab639776e7
- Parents:
- 4969680ed07ee6d390c94f9f9366dfa36efa4abf
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/dyn_modules/cohomo/cohomo.cc
r4969680 red6cce 957 957 { 958 958 idInsertPoly(aset, ia->m[i]); 959 959 ia->m[i]=NULL; 960 960 } 961 961 } … … 1344 1344 { 1345 1345 poly p; 1346 int i,j,deg=0,deg0;1346 int deg=0,deg0; 1347 1347 ideal aset=idCopy(h),ia,h1=idsrRing(h); 1348 1348 //PrintS("idsrRing is:\n");id_print(h1); 1349 1349 std::vector<int> as; 1350 1350 std::vector<std::vector<int> > hvs=supports(h); 1351 for(i =0;i<IDELEMS(h1);i++)1351 for(int i=0;i<IDELEMS(h1);i++) 1352 1352 { 1353 1353 deg0=pTotaldegree(h1->m[i]); … … 1355 1355 deg=deg0; 1356 1356 } 1357 for(i=2;i<=deg;i++) 1357 idDelete(&h1); 1358 for(int i=2;i<=deg;i++) 1358 1359 { 1359 1360 ia=id_MaxIdeal(i, currRing); 1360 for( j=0;j<IDELEMS(ia);j++)1361 { 1362 p= pCopy(ia->m[j]);1361 for(int j=0;j<IDELEMS(ia);j++) 1362 { 1363 p=ia->m[j]; 1363 1364 if(!IsInX(p,h)) 1364 1365 { … … 1367 1368 { 1368 1369 idInsertPoly(aset, p); 1370 ia->m[j]=NULL; 1369 1371 } 1370 1372 } 1371 1373 } 1374 idDelete(&ia); 1372 1375 } 1373 1376 idSkipZeroes(aset); … … 1412 1415 static std::vector<int> vertset(std::vector<std::vector<int> > vecs) 1413 1416 { 1414 int i,j;1415 1417 std::vector<int> vert; 1416 1418 std::vector<std::vector<int> > vvs; 1417 for(i =1;i<=currRing->N;i++)1418 { 1419 for( j=0;j<vecs.size();j++)1419 for(int i=1;i<=currRing->N;i++) 1420 { 1421 for(unsigned j=0;j<vecs.size();j++) 1420 1422 { 1421 1423 if(IsinL(i, vecs[j])) … … 1438 1440 std::vector<int> vert=vertset(lk), bv; 1439 1441 res=b_subsets(vert); 1440 int i,adg=pTotaldegree(a);1442 int adg=pTotaldegree(a); 1441 1443 poly e=pOne(); 1442 1444 ideal idd=idInit(1,1); 1443 for( i=0;i<res.size();i++)1445 for(unsigned i=0;i<res.size();i++) 1444 1446 { 1445 1447 if(res[i].size()==adg) … … 1452 1454 return (idd); 1453 1455 } 1456 pDelete(&e); 1454 1457 idd=idMaken(pbv); 1455 1458 return(idd); … … 1547 1550 static ideal psubset(poly p) 1548 1551 { 1549 int i,j,max=pTotaldegree(p);1552 int max=pTotaldegree(p); 1550 1553 ideal h1,mons, id_re=idInit(1,1); 1551 for(i =1;i<max;i++)1554 for(int i=1;i<max;i++) 1552 1555 { 1553 1556 mons=id_MaxIdeal(i, currRing); 1554 1557 h1=sfreemon(mons,i); 1555 for(j=0;j<IDELEMS(h1);j++) 1558 idDelete(&mons); 1559 for(int j=0;j<IDELEMS(h1);j++) 1556 1560 { 1557 1561 if(p_DivisibleBy(h1->m[j],p,currRing)) 1562 { 1558 1563 idInsertPoly(id_re, h1->m[j]); 1559 } 1564 h1->m[j]=NULL; 1565 } 1566 } 1567 idDelete(&h1); 1560 1568 } 1561 1569 idSkipZeroes(id_re); … … 1592 1600 { 1593 1601 int co=1; 1594 poly p,q= 0;1602 poly p,q=NULL; 1595 1603 for(int i=0;i<3;i++) 1596 1604 { … … 1599 1607 if(i==1) co=-1; 1600 1608 p = pOne();pSetExp(p, vbase[i], 1);pSetm(p);pSetCoeff(p, nInit(co)); 1601 }1602 else p=0;1603 1609 q = pAdd(q, p); 1610 } 1604 1611 co=1; 1605 1612 } … … 1611 1618 ideal id_re=idInit(1,1); 1612 1619 poly p; 1613 int i,lv=vecs.size();1614 for( i=0;i<lv;i++)1620 unsigned lv=vecs.size(); 1621 for(unsigned i=0;i<lv;i++) 1615 1622 { 1616 1623 p=pMake3(vecs[i]); … … 3807 3814 res->rtyp =INTVEC_CMD; 3808 3815 res->data =gradedpiece1n(h1,p,q); 3816 return FALSE; 3809 3817 } 3810 3818 } 3811 3819 } 3812 return false;3820 return TRUE; 3813 3821 } 3814 3822
Note: See TracChangeset
for help on using the changeset viewer.