Changeset ed6b03 in git
- Timestamp:
- Jun 8, 2022, 2:05:49 PM (2 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
- Children:
- 762afe1b4c00a799ba78e7d2cf486e090c6a5333
- Parents:
- 1ead6f7a96c0b74c88cce4a314fd1d652c7fb0af
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/dyn_modules/cohomo/cohomo.cc
r1ead6f7 red6b03 656 656 int pvert(poly p) 657 657 { 658 int i, j,vert=0;658 int i, vert=0; 659 659 for(i=currRing->N;i>0;i--) 660 660 { … … 781 781 ideal sfreemon(ideal h,int deg) 782 782 { 783 int i,j,t;783 int j; 784 784 ideal temp; 785 785 temp=idInit(1,1); … … 808 808 ideal id_sfmon(ideal h) 809 809 { 810 ideal asfmons,sfmons,mons ,p;810 ideal asfmons,sfmons,mons; 811 811 int j, vert=idvert(h); 812 812 mons=id_MaxIdeal(1, currRing); … … 856 856 bool IsInX(poly p,ideal X) 857 857 { 858 int i ,j;858 int i; 859 859 for(i=0;i<IDELEMS(X);i++) 860 860 { … … 878 878 { 879 879 ideal h,qrh; 880 int i;881 880 h=idAdd(h1,h2); 882 881 qrh=scKBase(deg,h); … … 910 909 ideal idsrRing(ideal h) 911 910 { 912 int max,i,j,n;911 int i,n; 913 912 ideal pp,qq,rsr,ppp,hc=idCopy(h); 914 913 for(i=1;i<=rVar(currRing);i++) … … 990 989 ideal IsSimplex(ideal h) 991 990 { 992 int i, j,ifbreak=0,max=id_maxdeg(h);991 int i,max=id_maxdeg(h); 993 992 poly e=pOne(); 994 993 ideal id_re, id_so=idCopy(h); … … 1107 1106 poly e=pOne(); 1108 1107 ideal h2=id_complement(h), aset=idInit(1,1); 1109 int i, j,deg1=pTotaldegree(S);1108 int i,deg1=pTotaldegree(S); 1110 1109 int tdeg=deg1+ddeg; 1111 1110 if(tdeg!=0) … … 1420 1419 std::vector<int> ofindbases1(int num, int vnum, std::vector<int> bset,std::vector<std::vector<int> > gset) 1421 1420 { 1422 int i,j,m;1423 1421 std::vector<std::vector<int> > goodset; 1424 1422 std::vector<int> fvars=freevars(num, bset, gset), oset, base; … … 1444 1442 std::vector<std::vector<int> > ofindbases(int num, std::vector<int> bset,std::vector<std::vector<int> > gset) 1445 1443 { 1446 int i, j,m;1444 int i,m; 1447 1445 std::vector<std::vector<int> > bases; 1448 1446 std::vector<int> fvars=freevars(num, bset, gset), base1; … … 1478 1476 std::vector<std::vector<int> > eli2(int num, std::vector<int> bset,std::vector<std::vector<int> > gset) 1479 1477 { 1480 int i,j;1481 1478 std::vector<int> badset; 1482 1479 std::vector<std::vector<int> > goodset, solve; … … 1572 1569 ideal p_a(ideal h) 1573 1570 { 1574 poly e=pOne(),p;1571 poly p; 1575 1572 int i,j,deg=0,deg0; 1576 1573 ideal aset=idCopy(h),ia,h1=idsrRing(h); … … 1692 1689 std::vector<int> vert=vertset(lk), bv; 1693 1690 res=b_subsets(vert); 1694 int i, j, nu=res.size(),adg=pTotaldegree(a);1691 int i, adg=pTotaldegree(a); 1695 1692 poly e=pOne(); 1696 1693 ideal idd=idInit(1,1); … … 1858 1855 poly pMake3(std::vector<int> vbase) 1859 1856 { 1860 int n=vbase.size(),co=1;1857 int co=1; 1861 1858 poly p,q=0; 1862 1859 for(int i=0;i<3;i++) … … 1894 1891 void equmab(int num) 1895 1892 { 1896 int i ,j;1893 int i; 1897 1894 //Print("There are %d new variables for equations solving.\n",num); 1898 1895 ring r=currRing; … … 2123 2120 { 2124 2121 //ring r=currRing; 2125 int i;2126 2122 //assume (LIB "presolve.lib"); 2127 2123 sleftv a;a.Init(); … … 2153 2149 std::vector<int> numfree(ideal h) 2154 2150 { 2155 int i,j ,num=0;2151 int i,j; 2156 2152 std::vector<int> fvar; 2157 2153 for(j=1;j<=currRing->N;j++) … … 2326 2322 std::vector<std::vector<int> > subspacet(std::vector<std::vector<int> > mv, std::vector<int> bv,std::vector<std::vector<int> > ntvs) 2327 2323 { 2328 int i,j;2329 2324 std::vector<int> alset=findalpha(mv,bv), subase; 2330 2325 std::vector<std::vector<int> > subases; 2331 for( i=0;i<alset.size();i++)2326 for(unsigned i=0;i<alset.size();i++) 2332 2327 { 2333 2328 subase=subspacet1(alset[i],ntvs); … … 2524 2519 //returns true if pv union qv union av minus bv is in hvs 2525 2520 //hvs is simplicial complex 2526 bool nabtconditionv(std::vector<std::vector<int> > hvs, std::vector<int> pv, std::vector<int> qv, std::vector<int> av, std::vector<int> bv)2521 static bool nabtconditionv(std::vector<std::vector<int> > hvs, std::vector<int> pv, std::vector<int> qv) 2527 2522 { 2528 2523 std::vector<int> v1; … … 2546 2541 { 2547 2542 var.clear(); 2548 if(nabtconditionv(hvs, Nv[i], Nv[j] , av, bv))2543 if(nabtconditionv(hvs, Nv[i], Nv[j])) 2549 2544 { 2550 2545 var.push_back(i); … … 2786 2781 for(j=i+1;j<n;j++) 2787 2782 { 2788 if(nabtconditionv(hvs,nv[i],nv[j] ,av,bv))2783 if(nabtconditionv(hvs,nv[i],nv[j])) 2789 2784 { 2790 2785 good=listsinsertlist(good,i+1,j+1); … … 2837 2832 { 2838 2833 ideal bi=findb(h),ai; 2839 int mm=0 ,index=0;2834 int mm=0; 2840 2835 id_print(bi); 2841 2836 poly a,b; … … 2986 2981 ideal genst(ideal h, poly a, poly b) 2987 2982 { 2988 int i,j;2989 2983 std::vector<std::vector<int> > hvs=supports(h),mv,mts; 2990 2984 std::vector<int> av=support1(a), bv=support1(b); … … 2993 2987 std::vector<std::vector<poly> > pvs=idMakei(mv,mts); 2994 2988 ideal gens=idInit(1,1); 2995 for( i=0;i<pvs.size();i++)2989 for(unsigned i=0;i<pvs.size();i++) 2996 2990 { 2997 2991 idInsertPoly(gens,pvs[i][0]); … … 3122 3116 pWrite(b); 3123 3117 intvec *solve=gradedpiece2n(h, a, b); 3118 delete solve; 3124 3119 gp++; 3125 3120 } … … 3226 3221 for(j=i+1;j<n;j++) 3227 3222 { 3228 if(nabtconditionv(hvs,nv[i],nv[j] ,av,bv))3223 if(nabtconditionv(hvs,nv[i],nv[j])) 3229 3224 { 3230 3225 good=listsinsertlist(good,i+1,j+1); … … 3268 3263 { 3269 3264 t_start=clock(); 3270 int i,j,co;3271 3265 poly e=pOne(); 3272 3266 std::vector<int> av=support1(a),bv=support1(b),index, em; … … 3422 3416 intvec * gradedpiece2nl(ideal h,poly a,poly b) 3423 3417 { 3424 int i,j,t;3425 3418 poly e=pOne(); 3426 3419 std::vector<int> av=support1(a), bv=support1(b), em; … … 3504 3497 std::vector<std::vector<int> > triface(poly p, int vert) 3505 3498 { 3506 int i;3507 3499 std::vector<int> vec, fv=support1(p); 3508 3500 std::vector<std::vector<int> > fvs0, fvs; … … 3511 3503 fvs0=b_subsets(fv); 3512 3504 fvs0=vsMinusv(fvs0,fv); 3513 for( i=0;i<fvs0.size();i++)3505 for(unsigned i=0;i<fvs0.size();i++) 3514 3506 { 3515 3507 vec=fvs0[i]; … … 3519 3511 return (fvs); 3520 3512 } 3521 3522 3523 3524 3525 3526 3527 3513 3528 3514 // the size of p's support must be 3 … … 3574 3560 std::vector<int> commonedge(poly p, poly q) 3575 3561 { 3576 int i,j;3577 3562 std::vector<int> ev, fv1= support1(p), fv2= support2(q); 3578 for( i=0;i<fv1.size();i++)3563 for(unsigned i=0;i<fv1.size();i++) 3579 3564 { 3580 3565 if(IsinL(fv1[i], fv2)) … … 3588 3573 { 3589 3574 intvec *m; 3590 int i ,j;3575 int i; 3591 3576 std::vector<int> dg=commonedge(p, q); 3592 3577 int lg=dg.size(); … … 3606 3591 std::vector<std::vector<int> > tetraface(poly p, poly q, int vert) 3607 3592 { 3608 int i;3609 3593 std::vector<int> ev=commonedge(p, q), vec, fv1=support1(p), fv2=support1(q); 3610 3594 std::vector<std::vector<int> > fvs1, fvs2, fvs; … … 3617 3601 fvs2=vsUnion(fvs1, fvs2); 3618 3602 fvs2=vsMinusv(fvs2, ev); 3619 for( i=0;i<fvs2.size();i++)3603 for(unsigned i=0;i<fvs2.size();i++) 3620 3604 { 3621 3605 vec=fvs2[i]; … … 3630 3614 ideal triangulations2(ideal h, poly p, poly q, int vert) 3631 3615 { 3632 int i,j;3633 3616 std::vector<int> ev, fv1=support1(p), fv2=support1(q); 3634 3617 std::vector<std::vector<int> > vecs=supports(h), vs1; … … 3649 3632 std::vector<std::vector<int> > penface(poly p, poly q, poly g, int vert) 3650 3633 { 3651 int i,en=0;3634 int en=0; 3652 3635 std::vector<int> ev1=commonedge(p, q), ev2=commonedge(p, g), ev3=commonedge(q, g), ind, vec, fv1=support1(p), fv2=support1(q), fv3=support1(g); 3653 3636 std::vector<std::vector<int> > fvs1, fvs2, fvs3, fvs, evec; … … 3655 3638 evec.push_back(ev2); 3656 3639 evec.push_back(ev3); 3657 for( i=0;i<evec.size();i++)3640 for(unsigned i=0;i<evec.size();i++) 3658 3641 { 3659 3642 if(evec[i].size()==2) … … 3674 3657 fvs3=vsUnion(fvs3, fvs2); 3675 3658 fvs3=vsUnion(fvs3, fvs1); 3676 for( i=0;i<evec.size();i++)3659 for(unsigned i=0;i<evec.size();i++) 3677 3660 { 3678 3661 if(evec[i].size()==2) … … 3681 3664 } 3682 3665 } 3683 for( i=0;i<fvs3.size();i++)3666 for(unsigned i=0;i<fvs3.size();i++) 3684 3667 { 3685 3668 vec=fvs3[i]; … … 3695 3678 ideal triangulations3(ideal h, poly p, poly q, poly g, int vert) 3696 3679 { 3697 int i,j;3698 3680 std::vector<int> ev1=commonedge(p, q), ev2=commonedge(p, g), ev3=commonedge(q, g), fv1=support1(p), fv2=support1(q), fv3=support1(g); 3699 3681 std::vector<std::vector<int> > vecs=supports(h), vs1, evec; … … 3701 3683 evec.push_back(ev2); 3702 3684 evec.push_back(ev3); 3703 for( i=0;i<evec.size();i++)3685 for(unsigned i=0;i<evec.size();i++) 3704 3686 { 3705 3687 if(evec[i].size()==2) … … 3722 3704 int valency(ideal h, poly p) 3723 3705 { 3724 int i,val=0;3706 int val=0; 3725 3707 std::vector<int> ev=support1(pCopy(p)); 3726 3708 int ver=ev[0]; 3727 3709 //PrintS("the vertex is :\n"); listprint(p); 3728 3710 std::vector<std::vector<int> > vecs=supports(idCopy(h)); 3729 for( i=0;i<vecs.size();i++)3711 for(unsigned i=0;i<vecs.size();i++) 3730 3712 { 3731 3713 if(vecs[i].size()==2 && IsinL(ver, vecs[i])) … … 3772 3754 std::vector<std::vector<int> > vsMinusvs(std::vector<std::vector<int> > vs1, std::vector<std::vector<int> > vs2) 3773 3755 { 3774 int i;3775 3756 std::vector<std::vector<int> > vs=vs1; 3776 for( i=0;i<vs2.size();i++)3757 for(unsigned i=0;i<vs2.size();i++) 3777 3758 { 3778 3759 vs=vsMinusv(vs, vs2[i]); … … 3785 3766 { 3786 3767 std::vector<std::vector<int> > sset, bv; 3787 for( inti=0;i<vs.size();i++)3768 for(unsigned i=0;i<vs.size();i++) 3788 3769 { 3789 3770 bv=b_subsets(vs[i]); … … 3849 3830 ideal c_New(ideal Io, ideal sig) 3850 3831 { 3851 poly p, q, g;3852 3832 std::vector<std::vector<int> > vs1=p_constant(Io, sig), vs2=p_change(sig), vs3=p_new(Io, sig), vsig=supports(sig), vs; 3853 3833 std::vector<int> ev; … … 3890 3870 std::vector<std::vector<int> > ss=supports(idCopy(Sigma)), fvs; 3891 3871 std::vector<int> av=support1(a), intvec, vv; 3892 for( inti=0;i<ss.size();i++)3872 for(unsigned i=0;i<ss.size();i++) 3893 3873 { 3894 3874 intvec=vecIntersection(ss[i], av); … … 3904 3884 3905 3885 3906 st d::vector<std::vector<int> > phi2(poly a, ideal Xo, ideal Sigma, int vert)3886 static std::vector<std::vector<int> > phi2(poly a, ideal Xo, ideal Sigma) 3907 3887 { 3908 3888 … … 3932 3912 { 3933 3913 lk1=phi1(a, Sigma); 3934 lk2=phi2(a, Xo, Sigma , vert);3914 lk2=phi2(a, Xo, Sigma); 3935 3915 lkn=vsMinusvs(lko, lk1); 3936 3916 lkn=vsUnion(lkn, lk2); … … 3939 3919 if(ord==3) 3940 3920 { 3941 lkn=phi2(a, Xo, Sigma , vert);3921 lkn=phi2(a, Xo, Sigma); 3942 3922 return lkn; 3943 3923 } … … 3955 3935 std::vector<std::vector<int> > xvs=supports(idCopy(Xs)), bs=b_subsets(bv); 3956 3936 bs=vsMinusv(bs, bv); 3957 for( inti=0;i<bs.size();i++)3937 for(unsigned i=0;i<bs.size();i++) 3958 3938 { 3959 3939 if(!vInvsl(bs[i], xvs)) … … 3988 3968 int ifIso(poly p, poly q, poly f, poly g, poly a, poly b) 3989 3969 { 3990 int i;3991 3970 std::vector<int> va=support1(a), vb=support1(b), vp=support1(p), vq=support1(q), vf=support1(f), vg=support1(g); 3992 3971 std::vector<int> v1=phimagel(vp, va, vb), v2=phimagel(vq, va, vb), v3=phimagel(vf, va, vb), v4=phimagel(vg, va, vb); … … 4004 3983 { 4005 3984 ideal h=idInit(1,1); 4006 int i ,j,eq=0;3985 int i; 4007 3986 for(i=0;i<IDELEMS(I);i++) 4008 3987 { … … 4030 4009 { 4031 4010 std::vector<int> vec; 4032 for( inti=0;i<v1.size();i++)4011 for(unsigned i=0;i<v1.size();i++) 4033 4012 { 4034 4013 vec.push_back(v1[i]-v2[i]); … … 4040 4019 std::vector<int> gdegree(poly a, poly b) 4041 4020 { 4042 int i ,j;4021 int i; 4043 4022 std::vector<int> av,bv; 4044 4023 for(i=1;i<=currRing->N;i++) … … 4273 4252 { 4274 4253 intvec *m; 4275 int i ,j;4254 int i; 4276 4255 std::vector<int> dg=gdegree(a,b); 4277 4256 int lg=dg.size();
Note: See TracChangeset
for help on using the changeset viewer.