Changeset c858487 in git
- Timestamp:
- Nov 14, 2022, 11:15:59 AM (18 months ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 6cf934536bdf5e13d6b4393257098584b66634f1
- Parents:
- 4a4df3a51856131bd5ba1a1a2a154aac107f2a74
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
.codespell_ignore
r4a4df3a rc858487 1 strat2 1 ende 2 erros 3 3 froms 4 witht5 4 fromt 5 intot 6 6 ist 7 7 modul 8 nin 9 nnumber 8 10 padd 9 nnumber 10 nin 11 preverse 11 12 ressources 13 sring 14 strat 15 witht 16 wth -
kernel/GBEngine/gr_kstd2.cc
r4a4df3a rc858487 301 301 } 302 302 } 303 // first try us al division303 // first try usual division 304 304 if (p_LmDivisibleBy(strat->S[j],(*h).p,currRing)) 305 305 { -
kernel/GBEngine/kChinese.cc
r4a4df3a rc858487 63 63 long *d=(long*)s; 64 64 s+=SIZEOF_LONG; 65 if (((*d)&1)==1) // imm idiate number65 if (((*d)&1)==1) // immediate number 66 66 { 67 67 *n=(number)(*d); -
kernel/GBEngine/kspoly.cc
r4a4df3a rc858487 1007 1007 #endif 1008 1008 p_ExpVectorAddSub(sigMult,PR->GetLmCurrRing(),PW->GetLmCurrRing(),currRing); 1009 //I have also to set the leading coef icient for sigMult (in the case of rings)1009 //I have also to set the leading coefficient for sigMult (in the case of rings) 1010 1010 if(rField_is_Ring(currRing)) 1011 1011 { … … 1041 1041 if(sigMult != NULL) 1042 1042 PR->sig = pHead(pSub(PR->sig, sigMult)); 1043 //The sigs have the same lm, have to sub stract1043 //The sigs have the same lm, have to subtract 1044 1044 //It may happen that now the signature is 0 (drop) 1045 1045 if(PR->sig == NULL) … … 1433 1433 /*************************************************************** 1434 1434 * 1435 * Auxil lary Routines1435 * Auxiliary Routines 1436 1436 * 1437 1437 * -
kernel/GBEngine/kstd1.cc
r4a4df3a rc858487 57 57 58 58 /* the list of all options which may be used by option and test */ 59 /* defin tion of ALL options: libpolys/misc/options.h */59 /* definition of ALL options: libpolys/misc/options.h */ 60 60 VAR BITSET validOpts=Sy_bit(0) 61 61 |Sy_bit(1) … … 135 135 if (intoT) 136 136 { 137 // need to do it exac ly like this: otherwise137 // need to do it exactly like this: otherwise 138 138 // we might get errors 139 139 LObject L= *h; … … 2130 2130 // do only a reduction of the leading term 2131 2131 //#define KSTD_NF_ECART 2 2132 // only local: re cude even with bad ecart2132 // only local: reduce even with bad ecart 2133 2133 poly p; 2134 2134 int i; … … 2234 2234 /*- release temp data------------------------------- -*/ 2235 2235 cleanT(strat); 2236 assume(strat->L==NULL); /*strat->L un sed */2236 assume(strat->L==NULL); /*strat->L unused */ 2237 2237 assume(strat->B==NULL); /*strat->B unused */ 2238 2238 omFreeSize((ADDRESS)strat->T,strat->tmax*sizeof(TObject)); … … 2275 2275 // do only a reduction of the leading term 2276 2276 //#define KSTD_NF_ECART 2 2277 // only local: re cude even with bad ecart2277 // only local: reduce even with bad ecart 2278 2278 poly p; 2279 2279 int i; … … 2387 2387 } 2388 2388 /*- release temp data------------------------------- -*/ 2389 assume(strat->L==NULL); /*strat->L un sed */2389 assume(strat->L==NULL); /*strat->L unused */ 2390 2390 assume(strat->B==NULL); /*strat->B unused */ 2391 2391 omFreeSize((ADDRESS)strat->T,strat->tmax*sizeof(TObject)); -
kernel/GBEngine/kstd1.h
r4a4df3a rc858487 18 18 // do only a reduction of the leading term 19 19 #define KSTD_NF_ECART 2 20 // only local: re cude even with bad ecart20 // only local: reduce even with bad ecart 21 21 #define KSTD_NF_NONORM 4 22 22 // only global: avoid normalization, return a multiply of NF -
kernel/GBEngine/kstd2.cc
r4a4df3a rc858487 660 660 /* unsigned long alpha_k = twoPow(leadRing->ch - k_ind2); 661 661 if (1 == 0 && alpha_k <= a) 662 { // Temporar ly disabled, reducing coefficients not compatible with std TODO Oliver662 { // Temporarily disabled, reducing coefficients not compatible with std TODO Oliver 663 663 zeroPoly = p_ISet((a / alpha_k)*alpha_k, tailRing); 664 664 for (int i = 1; i <= leadRing->N; i++) … … 702 702 int redRing_Z (LObject* h,kStrategy strat) 703 703 { 704 if (h->IsNull()) return 0; // spoly is zero (can only occur ewith zero divisors)704 if (h->IsNull()) return 0; // spoly is zero (can only occur with zero divisors) 705 705 if (strat->tl<0) return 1; 706 706 … … 861 861 { 862 862 if (strat->tl<0) return 1; 863 if (h->IsNull()) return 0; // spoly is zero (can only occur ewith zero divisors)863 if (h->IsNull()) return 0; // spoly is zero (can only occur with zero divisors) 864 864 865 865 int at/*,i*/; … … 2448 2448 strat->use_buckets = 1; 2449 2449 #endif 2450 // redtailBBa against T for inhomogen ous input2450 // redtailBBa against T for inhomogeneous input 2451 2451 if (!TEST_OPT_OLDSTD) 2452 2452 withT = ! strat->homog; … … 2942 2942 #endif 2943 2943 2944 // redtailBBa against T for inhomogen ous input2944 // redtailBBa against T for inhomogeneous input 2945 2945 // if (!TEST_OPT_OLDSTD) 2946 2946 // withT = ! strat->homog; … … 4418 4418 strat->use_buckets = 1; 4419 4419 #endif 4420 // redtailBBa against T for inhomogen ous input4420 // redtailBBa against T for inhomogeneous input 4421 4421 // if (!TEST_OPT_OLDSTD) 4422 4422 // withT = ! strat->homog; -
kernel/GBEngine/kutil.cc
r4a4df3a rc858487 8308 8308 // diff should be zero, but sometimes also the initial generating 8309 8309 // elements of the input ideal reduce to zero. then there is an 8310 // index-gap between the signatures. for these in between signatures we8310 // index-gap between the signatures. for these in-between signatures we 8311 8311 // can safely set syzIdx[j] = 0 as no such element will be ever computed 8312 8312 // in the following. … … 8353 8353 // diff should be zero, but sometimes also the initial generating 8354 8354 // elements of the input ideal reduce to zero. then there is an 8355 // index-gap between the signatures. for these in between signatures we8355 // index-gap between the signatures. for these in-between signatures we 8356 8356 // can safely set syzIdx[j] = 0 as no such element will be ever computed 8357 8357 // in the following. … … 9334 9334 /*- save result -*/ 9335 9335 strat->S[atS] = p.p; 9336 strat->sig[atS] = p.sig; // TODO: get th scorrect signature in here!9336 strat->sig[atS] = p.sig; // TODO: get the correct signature in here! 9337 9337 if (strat->honey) strat->ecartS[atS] = p.ecart; 9338 9338 if (p.sev == 0) … … 9477 9477 assume(strat->tailRing == p.tailRing); 9478 9478 // redMoraNF complains about this -- but, we don't really 9479 // nee ed this so far9479 // need this so far 9480 9480 assume(p.pLength == 0 || pLength(p.p) == p.pLength || rIsSyzIndexRing(currRing)); // modulo syzring 9481 9481 assume(!strat->homog || (p.FDeg == p.pFDeg())); … … 9565 9565 assume(strat->tailRing == p.tailRing); 9566 9566 // redMoraNF complains about this -- but, we don't really 9567 // nee ed this so far9567 // need this so far 9568 9568 assume(p.pLength == 0 || (int)pLength(p.p) == p.pLength || rIsSyzIndexRing(currRing)); // modulo syzring 9569 9569 assume(p.FDeg == p.pFDeg()); -
kernel/GBEngine/kutil.h
r4a4df3a rc858487 768 768 // Reduces PR at Current->next with PW 769 769 // Assumes PR != NULL, Current contained in PR 770 // Current->next != NULL, LM(PW) d evides LM(Current->next)770 // Current->next != NULL, LM(PW) divides LM(Current->next) 771 771 // Changes: PR 772 772 // Const: PW -
kernel/GBEngine/ratgring.cc
r4a4df3a rc858487 497 497 poly H = NULL; 498 498 HH = p_HeadRat(p1,is,r); //p_Copy(p_HeadRat(p1,is,r),r); // lm_D(g) 499 // H = r->nc->p_Procs.mm_Mult_p(m, p_Copy(HH, r), r); // d^a plha lm_D(g)500 H = nc_mm_Mult_p(m, HH, r); // d^a plha lm_D(g) == h_g in the paper499 // H = r->nc->p_Procs.mm_Mult_p(m, p_Copy(HH, r), r); // d^alpha lm_D(g) 500 H = nc_mm_Mult_p(m, HH, r); // d^alpha lm_D(g) == h_g in the paper 501 501 502 502 poly K = p_GetCoeffRat(H, is, r); //p_Copy( p_GetCoeffRat(H, is, r), r); // k in the paper … … 538 538 #endif 539 539 540 // out = r->nc->p_Procs.mm_Mult_p(m, out, r); // d^a plha t_g541 out = nc_mm_Mult_p(m, out, r); // d^a plha t_g540 // out = r->nc->p_Procs.mm_Mult_p(m, out, r); // d^alpha t_g 541 out = nc_mm_Mult_p(m, out, r); // d^alpha t_g 542 542 p_Delete(&m,r); 543 543 -
kernel/GBEngine/sca.cc
r4a4df3a rc858487 484 484 // due to std( SB, p). 485 485 // Note that after initBuchMora :: initSSpecial all these additional 486 // elements are in S and T (and some pairs are in L, which also has no initial l486 // elements are in S and T (and some pairs are in L, which also has no initial 487 487 // elements!!!) 488 488 if(TEST_OPT_SB_1) -
kernel/GBEngine/syz1.cc
r4a4df3a rc858487 1807 1807 return result; /// Don't change the syzstr??? 1808 1808 1809 // TODO: cleanup th ses!1809 // TODO: cleanup these! 1810 1810 if( fullres != NULL && syzstr->fullres == NULL ) 1811 1811 syzstr->fullres = fullres; -
kernel/GBEngine/syz2.cc
r4a4df3a rc858487 898 898 /*3 899 899 * reorders the result (stored in orderedRes) according 900 * to the seq ence given by res900 * to the sequence given by res 901 901 */ 902 902 static void syReOrdResult_Hilb(syStrategy syzstr,int maxindex,int maxdeg) -
kernel/GBEngine/syz3.cc
r4a4df3a rc858487 1052 1052 1053 1053 /*3 1054 * updates the pairs in the higher modules1054 * updates the pairs in the higher modules 1055 1055 */ 1056 1056 static void updatePairsHIndex(SSet *resPairs,int *l_pairs,syStrategy /*syzstr*/, -
kernel/GBEngine/syz4.cc
r4a4df3a rc858487 781 781 * subtree attached to the node which represents this term, see reference. 782 782 * 783 * If use_tensor_trick == true, the current module is mod fied after each783 * If use_tensor_trick == true, the current module is modified after each 784 784 * lifting step in the resolution: any term which contains a variable which 785 785 * does not appear among the (induced) leading terms is deleted. Note that the -
kernel/GBEngine/test.cc
r4a4df3a rc858487 449 449 poly p1=pISet(1); 450 450 451 // create t the polynomial 2*x^3*z^2451 // create the polynomial 2*x^3*z^2 452 452 poly p2=p_ISet(2,R); 453 453 pSetExp(p2,1,3); -
kernel/Makefile.am
r4a4df3a rc858487 43 43 ${builddir}/libkernelCommon.la 44 44 45 ### TODO: the following has to be ad dapted...45 ### TODO: the following has to be adapted... 46 46 TESTS_ENVIRONMENT = SINGULARPATH='${abs_top_builddir}/libpolys/polys/.libs:${abs_top_builddir}/factory/gftables' 47 47 TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}' -
kernel/fglm/fglmhom.cc
r4a4df3a rc858487 223 223 for ( s= dat.numMonoms - 1; s >= 0; s-- ) { 224 224 // dat.monlist[s].mon.sm= pPermPoly( dat.monlist[s].mon.dm, vperm, currRing->N, NULL, 0 ); 225 // obachman: changed the fol owing to reflect the new calling interface of225 // obachman: changed the following to reflect the new calling interface of 226 226 // pPermPoly -- Tim please check whether this is correct! 227 227 dat.monlist[s].mon.sm= pPermPoly( dat.monlist[s].mon.dm, vperm, oldRing, NULL, 0 ); -
kernel/ideals.cc
r4a4df3a rc858487 559 559 rChangeCurrRing(orig_ring); 560 560 561 /* interpret eresult ----------------------------------------*/561 /* interpret result ----------------------------------------*/ 562 562 result = idInit(IDELEMS(tempstd),maxrk); 563 563 k = 0; … … 2164 2164 2165 2165 /*3 2166 *handles for some ideal operations the ring/syzcomp manag ment2166 *handles for some ideal operations the ring/syzcomp management 2167 2167 *returns all syzygies (componentwise-)shifted by -syzcomp 2168 2168 *or -syzcomp-1 (in case of ideals as input) … … 2583 2583 /*2 2584 2584 *decomposes the monom in a part of coefficients described by the 2585 *complement of how and a monom in variables occur ing in how, the2585 *complement of how and a monom in variables occurring in how, the 2586 2586 *index of which in kbase is returned as integer pos (-1 if it don't 2587 2587 *exists) -
kernel/mod2.h
r4a4df3a rc858487 88 88 89 89 /******************************************************************* 90 * Miscellan ous Defines90 * Miscellaneous Defines 91 91 ******************************************************************/ 92 92 #ifndef HAVE_LIBPARSER … … 186 186 The omDebug routines are controlled by the values of OM_TRACK, OM_CHECK 187 187 and OM_KEEP. There meaning is roughly as follows: 188 OM_TRACK: st rored with address: extra space189 0 : no additional info is stored : 0190 1 : file:line of location where address was allocated : 1 word191 2 : plus backtrace of stack where ad ress was allocated: 6 words192 3 : plus size/bin info and front-, and back padding : 9 words193 4 : plus file:line of location where ad ress was freed: 10 words194 5 : plus backtrace of stack where ad ress was allocated: 15 words188 OM_TRACK: stored with address : extra space 189 0 : no additional info is stored : 0 190 1 : file:line of location where address was allocated : 1 word 191 2 : plus backtrace of stack where address was allocated : 6 words 192 3 : plus size/bin info and front-, and back padding : 9 words 193 4 : plus file:line of location where address was freed : 10 words 194 5 : plus backtrace of stack where address was allocated : 15 words 195 195 OM_CHECK: checks done 196 196 0 : no checks … … 224 224 ExternalRoutine(); 225 225 om_Opts.MinCheck = check; omOpts.MinTrack = track; omOpts.Keep = keep; 226 ensures that all calls omDebug routines occur ing during the computation of226 ensures that all calls omDebug routines occurring during the computation of 227 227 ExternalRoutine() are done with OM_CHECK==3 and OM_TRACK==5, and 228 228 calls to omFree only mark addresses as free and not really free them. … … 254 254 + You can safely use any free/realloc routine in combination with any alloc 255 255 routine (including the debug versions): E.g., an address allocated with 256 omAllocBin can be freed with omfree, or an ad ress allocated with256 omAllocBin can be freed with omfree, or an address allocated with 257 257 om(Debug)Alloc can be freed with omfree, or omFree, or omFreeSize, etc. 258 258 However, keep in mind that the efficiency decreases from -
kernel/old/old.Poly.h
r4a4df3a rc858487 340 340 ptr->print(); 341 341 } 342 //* res source managed by Singular342 //* resource managed by Singular 343 343 char* c_string() const{ 344 344 -
kernel/old/old.PowerSeries.h
r4a4df3a rc858487 141 141 PowerSeriesBase(const numerator_type &a, const denominator_type & b):numerator(a),denominator(b){ 142 142 assume(a.getRing()==b.getRing()); 143 //as ume b!=NULL143 //assume b!=NULL 144 144 } 145 145 typedef PowerSeriesInputIterator<traits> iterator; -
kernel/oswrapper/feread.cc
r4a4df3a rc858487 124 124 #endif 125 125 #ifndef READLINE_READLINE_H_OK 126 /* declare everything we need explicit ely and do not rely on includes */126 /* declare everything we need explicitly and do not rely on includes */ 127 127 EXTERN_VAR char * rl_readline_name; 128 128 EXTERN_VAR char *rl_line_buffer; -
kernel/oswrapper/test.cc
r4a4df3a rc858487 314 314 poly p1=pISet(1); 315 315 316 // create t the polynomial 2*x^3*z^2316 // create the polynomial 2*x^3*z^2 317 317 poly p2=p_ISet(2,R); 318 318 pSetExp(p2,1,3); -
kernel/oswrapper/vspace.h
r4a4df3a rc858487 116 116 #endif 117 117 #ifdef HAVE_CPP_THREADS 118 // We only need to define the copy construct ur for the118 // We only need to define the copy constructor for the 119 119 // atomic version, as the std::atomic_flag constructor 120 120 // is deleted. -
kernel/polys.cc
r4a4df3a rc858487 9 9 #include "polys/clapconv.h" 10 10 11 /// Widely used global variable which specifies the current polynomial ring for Singular interpreter and legacy implementati ns.11 /// Widely used global variable which specifies the current polynomial ring for Singular interpreter and legacy implementations. 12 12 /// @Note: one should avoid using it in newer designs, for example due to possible problems in parallelization with threads. 13 13 VAR ring currRing = NULL; -
kernel/polys.h
r4a4df3a rc858487 1 /*! \file kernel/polys.h Compatib lity layer for legacy polynomial operations (over @ref currRing)1 /*! \file kernel/polys.h Compatibility layer for legacy polynomial operations (over @ref currRing) 2 2 3 3 Macro defines for legacy polynomial operations used in @ref kernel_page and @ref singular_page. … … 5 5 Notice that they have different prefix: `p` instead of `p_`. 6 6 7 See also related global ring variable and the correct ring chang eing routine:7 See also related global ring variable and the correct ring changing routine: 8 8 - \ref currRing 9 9 - \ref rChangeCurrRing … … 52 52 /*************************************************************** 53 53 * 54 * Allocation/Init alization/Deletion54 * Allocation/Initialization/Deletion 55 55 * except for pHead, all polys must be != NULL 56 56 * … … 162 162 /// polynomial division a/b, ignoring the rest 163 163 /// via singclap_pdivide resp. idLift 164 /// destroy es a,b164 /// destroys a,b 165 165 poly p_Divide(poly a, poly b, const ring r); 166 166 /// polynomial division a/b, ignoring the rest … … 222 222 223 223 224 /// Assume: If consider d only as poly in any component of p224 /// Assume: If considered only as poly in any component of p 225 225 /// (say, monomials of other components of p are set to 0), 226 226 /// then p is already sorted correctly … … 275 275 /*************************************************************** 276 276 * 277 * Degree stuff -- see p_polys.cc for expla inations277 * Degree stuff -- see p_polys.cc for explanations 278 278 * 279 279 ***************************************************************/ … … 371 371 #define pMinDeg(p,w) p_MinDeg(p,w,currRing) 372 372 #define pSeries(n,p,u,w) p_Series(n,p,u,w,currRing) 373 // maximum weig thed degree of all monomials of p, w is indexed from373 // maximum weighted degree of all monomials of p, w is indexed from 374 374 // 1..pVariables 375 375 -
kernel/preimage.cc
r4a4df3a rc858487 19 19 *shifts the variables between minvar and maxvar of p \in p_ring to the 20 20 *first maxvar-minvar+1 variables in the actual ring 21 *be careful l: there is no range check for the variables of p21 *be careful: there is no range check for the variables of p 22 22 */ 23 23 static poly pChangeSizeOfPoly(ring p_ring, poly p,int minvar,int maxvar, const ring dst_r) … … 132 132 tmpR); 133 133 } 134 // we ignore here homogen ity - may be changed later:134 // we ignore here homogeneity - may be changed later: 135 135 136 136 temp2 = kStd(temp1,NULL,isNotHomog,NULL); -
kernel/test.cc
r4a4df3a rc858487 544 544 poly p1=pISet(1); 545 545 546 // create t the polynomial 2*x^3*z^2546 // create the polynomial 2*x^3*z^2 547 547 poly p2=p_ISet(2,R); 548 548 pSetExp(p2,1,3);
Note: See TracChangeset
for help on using the changeset viewer.