Changeset 77f279 in git
- Timestamp:
- Nov 11, 2010, 3:16:33 PM (13 years ago)
- Branches:
- (u'spielwiese', '828514cf6e480e4bafc26df99217bf2a1ed1ef45')
- Children:
- 49a7660d31092e03deb306e45707cb52b2c37900
- Parents:
- 1ee17f728ae0a970f0bbdb9e57aedc97c536715b
- Location:
- kernel
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/sparsmat.cc
r1ee17f7 r77f279 390 390 } 391 391 392 void smCallBareiss(ideal I, int x, int y, ideal &M, intvec ** iv) 393 { 394 int r=idRankFreeModule(I),t=r; 395 int c=IDELEMS(I),s=c; 396 long bound; 397 ring origR; 398 ring tmpR; 399 sparse_mat *bareiss; 400 401 if ((x>0) && (x<t)) 402 t-=x; 403 if ((y>1) && (y<s)) 404 s-=y; 405 if (t>s) t=s; 406 bound=2*smExpBound(I,c,r,t); 407 tmpR=smRingChange(&origR,bound); 408 ideal II = idrCopyR(I, origR); 409 bareiss = new sparse_mat(II); 410 if (bareiss->smGetAct() == NULL) 411 { 412 delete bareiss; 413 *iv=new intvec(1,pVariables); 414 rChangeCurrRing(origR); 415 } 416 else 417 { 418 idDelete(&II); 419 bareiss->smBareiss(x, y); 420 II = bareiss->smRes2Mod(); 421 *iv = new intvec(bareiss->smGetRed()); 422 bareiss->smToIntvec(*iv); 423 delete bareiss; 424 rChangeCurrRing(origR); 425 II = idrMoveR(II,tmpR); 426 } 427 smKillModifiedRing(tmpR); 428 M=II; 429 } 430 431 void smCallNewBareiss(ideal I, int x, int y, ideal & M, intvec **iv) 392 void smCallBareiss(ideal I, int x, int y, ideal & M, intvec **iv) 432 393 { 433 394 int r=idRankFreeModule(I),t=r; -
kernel/sparsmat.h
r1ee17f7 r77f279 28 28 poly smCallDet(ideal I); 29 29 void smCallBareiss(ideal smat, int x, int y, ideal & M, intvec ** iv); 30 void smCallNewBareiss(ideal smat, int x, int y, ideal & M, intvec ** iv);31 30 ideal smCallSolv(ideal I); 32 31
Note: See TracChangeset
for help on using the changeset viewer.