Changeset 750e70 in git
- Timestamp:
- May 5, 2011, 7:20:56 PM (12 years ago)
- Branches:
- (u'spielwiese', '0d6b7fcd9813a1ca1ed4220cfa2b104b97a0a003')
- Children:
- eb72ba1a1a50ca741a3113bf9b8bc34d414a678a
- Parents:
- 1f9a84fc8a205c643ce861d9e20c25dc687aa193
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/extra.cc
r1f9a84 r750e70 380 380 #ifdef NDEBUG 381 381 TEST_FOR("ndebug"); 382 #endif 382 #endif 383 383 ; 384 384 return FALSE; … … 3692 3692 ideal I=((ideal)h->Data()); 3693 3693 #ifndef USE_ZFAN 3694 #define USE_ZFAN 3694 #define USE_ZFAN 3695 3695 #endif 3696 3696 #ifndef USE_ZFAN -
Singular/ipshell.cc
r1f9a84 r750e70 2567 2567 (*weights) -= add_row_shift; 2568 2568 } 2569 2569 2570 2570 res->data=(void *)syBettiOfComputation(syzstr,minim,&row_shift,weights); 2571 2571 //row_shift += add_row_shift; … … 2597 2597 { 2598 2598 if (syzstr->hilb_coeffs==NULL) 2599 { 2599 { // La Scala 2600 2600 fullres = syReorder(syzstr->res, length, syzstr); 2601 2601 } 2602 2602 else 2603 { 2603 { // HRES 2604 2604 minres = syReorder(syzstr->orderedRes, length, syzstr); 2605 2605 syKillEmptyEntres(minres, length); … … 2614 2614 else 2615 2615 tr = fullres; 2616 2616 2617 2617 resolvente trueres=NULL; intvec ** w=NULL; 2618 2618 … … 2638 2638 } 2639 2639 } 2640 2640 2641 2641 lists li = liMakeResolv(trueres, length, syzstr->list_length,typ0, 2642 2642 w, add_row_shift); 2643 2643 2644 2644 if (w != NULL) omFreeSize(w, length*sizeof(intvec*)); 2645 2645 2646 2646 if (toDel) 2647 2647 syKillComputation(syzstr); … … 2654 2654 syzstr->minres = minres; 2655 2655 } 2656 2656 2657 2657 return li; 2658 2658 2659 2659 2660 2660 } 2661 2661 … … 4614 4614 case ringorder_s: // no 'rank' params! 4615 4615 { 4616 4616 4617 4617 if(iv->length() > 3) 4618 4618 return TRUE; … … 4621 4621 { 4622 4622 const int s = (*iv)[2]; 4623 R->block0[n] = s; 4623 R->block0[n] = s; 4624 4624 R->block1[n] = s; 4625 4625 } 4626 break; 4626 break; 4627 4627 } 4628 4628 case ringorder_IS: 4629 4629 { 4630 4630 if(iv->length() != 3) return TRUE; 4631 4631 4632 4632 const int s = (*iv)[2]; 4633 4633 4634 4634 if( 1 < s || s < -1 ) return TRUE; 4635 4636 R->block0[n] = s; 4635 4636 R->block0[n] = s; 4637 4637 R->block1[n] = s; 4638 4638 break; 4639 } 4639 } 4640 4640 case ringorder_S: 4641 4641 case ringorder_c: … … 4718 4718 4719 4719 assume( n >= 0 ); 4720 4720 4721 4721 if (R->block1[n] != R->N) 4722 4722 { -
Singular/misc_ip.cc
r1f9a84 r750e70 513 513 {"interrupt", Sy_bit(OPT_INTERRUPT), ~Sy_bit(OPT_INTERRUPT) }, 514 514 {"sugarCrit", Sy_bit(OPT_SUGARCRIT), ~Sy_bit(OPT_SUGARCRIT) }, 515 {"teach", Sy_bit(OPT_DEBUG), ~Sy_bit(OPT_DEBUG) }, 515 {"teach", Sy_bit(OPT_DEBUG), ~Sy_bit(OPT_DEBUG) }, 516 {"notSyzMinim", Sy_bit(OPT_NO_SYZ_MINIM), ~Sy_bit(OPT_NO_SYZ_MINIM) }, 516 517 /* 9 return SB in syz, quotient, intersect */ 517 518 {"returnSB", Sy_bit(OPT_RETURN_SB), ~Sy_bit(OPT_RETURN_SB) }, -
kernel/kstd1.cc
r1f9a84 r750e70 24 24 #endif /* ifndef NDEBUG */ 25 25 26 #if MYTEST 26 #if MYTEST 27 27 #ifdef HAVE_TAIL_RING 28 28 #undef HAVE_TAIL_RING … … 75 75 |Sy_bit(6) 76 76 // |Sy_bit(7) obachman 11/00 tossed: 12/00 used for redThrough 77 |Sy_bit(OPT_REDTHROUGH)78 // |Sy_bit(8) obachman 11/00 tossed 77 |Sy_bit(7) // OPT_REDTHROUGH 78 |Sy_bit(8) // obachman 11/00 tossed -> motsak 2011 experimental: OPT_NO_SYZ_MINIM 79 79 |Sy_bit(9) 80 80 |Sy_bit(10) … … 1801 1801 #endif 1802 1802 #ifdef HAVE_RINGS 1803 if (rField_is_Ring(currRing)) 1804 r=bba(F,Q,NULL,hilb,strat); 1803 if (rField_is_Ring(currRing)) 1804 r=bba(F,Q,NULL,hilb,strat); 1805 1805 else 1806 1806 #endif -
kernel/options.h
r1f9a84 r750e70 72 72 #define OPT_DEBUG 6 73 73 #define OPT_REDTHROUGH 7 74 #define OPT_NO_SYZ_MINIM 8 74 75 #define OPT_RETURN_SB 9 75 76 #define OPT_FASTHC 10 … … 111 112 #define TEST_OPT_REDTHROUGH BTEST1(OPT_REDTHROUGH) 112 113 #define TEST_OPT_OLDSTD BTEST1(OPT_OLDSTD) 114 #define TEST_OPT_NO_SYZ_MINIM BTEST1(OPT_NO_SYZ_MINIM) 115 116 113 117 #define TEST_OPT_CONTENTSB BVERBOSE(V_CONTENTSB) 114 118 #define TEST_OPT_CANCELUNIT BVERBOSE(V_CANCELUNIT) -
kernel/syz.cc
r1f9a84 r750e70 463 463 #ifdef HAVE_PLURAL 464 464 if (rIsPluralRing(currRing) && !rIsSCA(currRing) ) 465 { 465 { 466 466 // quick solution; need theory to apply homog GB stuff for G-Algebras 467 467 hom = isNotHomog; … … 516 516 rSetSyzComp(rkI); 517 517 } 518 if(! TEST_OPT_NO_SYZ_MINIM ) 518 519 if (minim || (syzIndex!=0)) 519 520 { … … 537 538 syzIndex++; 538 539 if (TEST_OPT_PROT) Print("[%d]\n",syzIndex); 539 if ((minim)||(syzIndex>1)) 540 syMinStep(res[syzIndex-1],res[syzIndex],!completeMinim,NULL,hom); 541 if (!completeMinim) 542 /*minim is TRUE, we are in the module: maxlength, maxlength <>0*/ 543 { 544 idDelete(&res[syzIndex]); 540 541 if(! TEST_OPT_NO_SYZ_MINIM ) 542 { 543 if ((minim)||(syzIndex>1)) 544 syMinStep(res[syzIndex-1],res[syzIndex],!completeMinim,NULL,hom); 545 if (!completeMinim) 546 /*minim is TRUE, we are in the module: maxlength, maxlength <>0*/ 547 { 548 idDelete(&res[syzIndex]); 549 } 545 550 } 546 551 /*---creating the iterated weights for module components ---------*/ … … 634 639 const unsigned int m_iFirstAltVar = scaFirstAltVar(currRing); 635 640 const unsigned int m_iLastAltVar = scaLastAltVar(currRing); 636 641 637 642 arg = id_KillSquares(arg, m_iFirstAltVar, m_iLastAltVar, currRing, false); // kill suares in input! 638 643 } 639 644 #endif 640 645 641 646 int typ0; 642 647 syStrategy result=(syStrategy)omAlloc0(sizeof(ssyStrategy)); … … 681 686 if( ncExtensions(TESTSYZSCAMASK) ) 682 687 { 683 currQuotient = idSaveCurrQuotient; 688 currQuotient = idSaveCurrQuotient; 684 689 currRing->qideal = idSaveCurrRingQuotient; 685 690 } -
kernel/syz.h
r1f9a84 r750e70 78 78 intvec *** weights, BOOLEAN minim); 79 79 80 resolvente syReorder(resolvente res,int length,81 syStrategy syzstr,BOOLEAN toCopy/*=TRUE*/,resolvente totake/*=NULL*/);82 83 80 syStrategy syResolution(ideal arg, int maxlength,intvec * w, BOOLEAN minim); 84 81 … … 138 135 resolvente syReorder(resolvente res,int length, 139 136 syStrategy syzstr,BOOLEAN toCopy=TRUE,resolvente totake=NULL); 137 resolvente syReorder(resolvente res,int length, 138 syStrategy syzstr,BOOLEAN toCopy/*=TRUE*/,resolvente totake/*=NULL*/); 140 139 141 140 #endif -
kernel/syz1.cc
r1f9a84 r750e70 1642 1642 if(syzstr->syRing->typ[1].ord_typ == ro_syzcomp) 1643 1643 rNChangeSComps(NULL, NULL, syzstr->syRing); 1644 1644 1645 1645 rKill(syzstr->syRing); 1646 1646 } … … 1797 1797 resolvente minres = syzstr->minres; 1798 1798 const int length = syzstr->length; 1799 1799 1800 1800 if ((fullres==NULL) && (minres==NULL)) 1801 1801 { 1802 1802 if (syzstr->hilb_coeffs==NULL) 1803 { 1803 { // LA SCALA 1804 1804 fullres = syReorder(syzstr->res, length, syzstr); 1805 1805 } 1806 1806 else 1807 { 1807 { // HRES 1808 1808 minres = syReorder(syzstr->orderedRes, length, syzstr); 1809 1809 syKillEmptyEntres(minres, length); 1810 1810 } 1811 1811 } 1812 1812 1813 1813 intvec *result=NULL; 1814 1814 1815 1815 if (fullres!=NULL) 1816 1816 result = syBetti(fullres,length,&dummy,weights,minim,row_shift); … … 1833 1833 syzstr->betti = ivCopy(result); // cache the result... 1834 1834 } 1835 1835 1836 1836 return result; 1837 1837 } … … 1957 1957 1958 1958 intvec* resolution = syzstr->resolution; 1959 1959 1960 1960 if (resolution==NULL) 1961 1961 { … … 2043 2043 } 2044 2044 2045 if (syzstr->resolution == NULL) syzstr->resolution = resolution; 2045 if (syzstr->resolution == NULL) syzstr->resolution = resolution; 2046 2046 } 2047 2047 … … 2411 2411 if (syzstr->hilb_coeffs==NULL) 2412 2412 { 2413 // La Scala Resolution 2413 2414 syzstr->minres = syReadOutMinimalRes(syzstr); 2414 2415 } 2415 2416 else 2416 { 2417 { // HRES 2417 2418 syzstr->minres = syReorder(syzstr->orderedRes,syzstr->length,syzstr); 2418 2419 } … … 2538 2539 if (temp!=NULL) idDelete(&temp); 2539 2540 kBucketDestroy(&(syzstr->bucket)); 2541 2540 2542 if (origR != syzstr->syRing) 2541 2543 rChangeCurrRing(origR); … … 2544 2546 if (TEST_OPT_PROT) PrintLn(); 2545 2547 2546 if (syzstr->minres==NULL) 2547 if (syzstr->resPairs!=NULL) 2548 if (syzstr->hilb_coeffs==NULL) 2549 syzstr->minres = syReadOutMinimalRes(syzstr); 2550 2548 assume(syzstr->minres==NULL); assume(syzstr->fullres ==NULL); 2549 assume(syzstr->resPairs!=NULL); assume(syzstr->hilb_coeffs==NULL); 2550 assume(syzstr->res!=NULL); 2551 2552 if(! TEST_OPT_NO_SYZ_MINIM ) 2553 syzstr->minres = syReadOutMinimalRes(syzstr); 2554 else 2555 syzstr->fullres = syReorder(syzstr->res, syzstr->length, syzstr); // buggy? (betti...?) 2556 2551 2557 return syzstr; 2552 2558 } … … 2570 2576 ring origR = currRing; 2571 2577 2572 if(weights!= NULL) 2578 if(weights!= NULL) 2573 2579 syzstr->cw = new intvec(weights); 2574 2580 else … … 2588 2594 //euler = -1; 2589 2595 redpol = pInit(); 2590 2596 2591 2597 if( maxlength > 0 ) 2592 2598 syzstr->length = maxlength; // = pVariables+2; 2593 2599 else 2594 syzstr->length = maxlength = pVariables+2; 2600 syzstr->length = maxlength = pVariables+2; 2595 2601 2596 2602 // Creare dp,S ring and change to it 2597 2603 syzstr->syRing = rCurrRingAssure_dp_S(); 2598 2604 assume(syzstr->syRing != origR); 2599 assume(syzstr->syRing->typ[1].ord_typ == ro_syzcomp); 2605 assume(syzstr->syRing->typ[1].ord_typ == ro_syzcomp); 2600 2606 2601 2607 … … 2627 2633 omFreeSize((ADDRESS)currcomponents,(arg->rank+1)*sizeof(int)); 2628 2634 omFreeSize((ADDRESS)currShiftedComponents,(arg->rank+1)*sizeof(long)); 2629 2635 2630 2636 syzstr->res = (resolvente)omAlloc0((maxlength+1)*sizeof(ideal)); 2631 2637 syzstr->orderedRes = (resolvente)omAlloc0((maxlength+1)*sizeof(ideal)); … … 2641 2647 2642 2648 assume( syzstr->length == maxlength ); 2643 2649 2644 2650 syzstr->bucket = kBucketCreate(); 2645 2651 int len0=idRankFreeModule(temp)+1;
Note: See TracChangeset
for help on using the changeset viewer.