Changeset bc2ffb in git for Singular/iparith.cc
- Timestamp:
- Apr 5, 2019, 3:15:11 PM (5 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- f2051805b69b8fb17a6b2da657a6a290d2e69e43
- Parents:
- 6b29f27d00172371b96eb5f545db8d0a6fe74d75
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/iparith.cc
r6b29f27 rbc2ffb 2230 2230 c_par_names=currRing->cf->extRing->names; 2231 2231 } 2232 2233 2232 if (!rIsLPRing(r)) 2233 { 2234 2234 maFindPerm(r->names, r->N, r_par_names, r_par, 2235 2235 currRing->names,currRing->N,c_par_names, c_par, 2236 2236 perm,par_perm, currRing->cf->type); 2237 2237 } 2238 2239 2240 2238 #ifdef HAVE_SHIFTBBA 2239 else 2240 { 2241 2241 maFindPermLP(r->names, r->N, r_par_names, r_par, 2242 2242 currRing->names,currRing->N,c_par_names, c_par, 2243 2243 perm,par_perm, currRing->cf->type,r->isLPring); 2244 2245 2244 } 2245 #endif 2246 2246 } 2247 2247 else … … 2607 2607 if (w_u!=NULL) 2608 2608 { 2609 //PrintS("modulo: wu:");w_u->show(INTVEC_CMD);PrintLn(); 2609 2610 w_u=ivCopy(w_u); 2610 2611 hom=isHomog; 2611 2612 } 2613 //else PrintS("modulo: wu:none\n"); 2612 2614 intvec *w_v=(intvec *)atGet(v,"isHomog",INTVEC_CMD); 2613 2615 if (w_v!=NULL) 2614 2616 { 2617 //PrintS("modulo: wv:");w_v->show(INTVEC_CMD);PrintLn(); 2615 2618 w_v=ivCopy(w_v); 2616 2619 hom=isHomog; 2617 2620 } 2621 //else PrintS("modulo: wv:none\n"); 2618 2622 if ((w_u!=NULL) && (w_v==NULL)) 2619 2623 w_v=ivCopy(w_u); … … 5068 5072 return FALSE; 5069 5073 } 5070 #if 15074 #if 0 5071 5075 static BOOLEAN jjSYZYGY(leftv res, leftv v) 5072 5076 { … … 5081 5085 static BOOLEAN jjSYZYGY(leftv res, leftv v) 5082 5086 { 5083 intvec *w=(intvec *)atGet(v,"isHomog",INTVEC_CMD); 5087 intvec *ww=(intvec *)atGet(v,"isHomog",INTVEC_CMD); 5088 intvec *w=NULL; 5084 5089 ideal v_id=(ideal)v->Data(); 5085 5090 tHomog hom=testHomog; 5086 5091 int add_row_shift=0; 5087 if (w!=NULL) 5088 { 5089 w=ivCopy(w); 5090 add_row_shift=w->min_in(); 5091 (*w)-=add_row_shift; 5092 if (idTestHomModule(v_id,currRing->qideal,w)) 5092 if (ww!=NULL) 5093 { 5094 if (idTestHomModule(v_id,currRing->qideal,ww)) 5095 { 5096 w=ivCopy(ww); 5097 add_row_shift=w->min_in(); 5098 (*w)-=add_row_shift; 5093 5099 hom=isHomog; 5100 } 5094 5101 else 5095 5102 { 5096 5103 //WarnS("wrong weights"); 5097 delete w ;w=NULL;5104 delete ww; ww=NULL; 5098 5105 hom=testHomog; 5099 5106 } 5100 5107 } 5101 res->data = (char *)idSyzygies(v_id,hom,&w); 5102 if (w!=NULL) 5103 { 5104 atSet(res,omStrDup("isHomog"),w,INTVEC_CMD); 5105 } 5108 else 5109 { 5110 if (v->Typ()==IDEAL_CMD) 5111 if (idHomIdeal(v_id,currRing->qideal)) 5112 hom=isHomog; 5113 } 5114 ideal S=idSyzygies(v_id,hom,&w); 5115 res->data = (char *)S; 5116 if (hom==isHomog) 5117 { 5118 int vl=S->rank; 5119 intvec *vv=new intvec(vl); 5120 if ((v->Typ()==IDEAL_CMD)||(ww==NULL)) 5121 { 5122 for(int i=0;i<vl;i++) 5123 { 5124 if (v_id->m[i]!=NULL) 5125 (*vv)[i]=p_Deg(v_id->m[i],currRing); 5126 } 5127 } 5128 else 5129 { 5130 p_SetModDeg(ww, currRing); 5131 for(int i=0;i<vl;i++) 5132 { 5133 if (v_id->m[i]!=NULL) 5134 (*vv)[i]=currRing->pFDeg(v_id->m[i],currRing); 5135 } 5136 p_SetModDeg(NULL, currRing); 5137 } 5138 if (idTestHomModule(S,currRing->qideal,vv)) 5139 atSet(res,omStrDup("isHomog"),vv,INTVEC_CMD); 5140 else 5141 delete vv; 5142 } 5143 if (w!=NULL) delete w; 5106 5144 return FALSE; 5107 5145 }
Note: See TracChangeset
for help on using the changeset viewer.