Changeset fde66a9 in git
- Timestamp:
- Aug 7, 2014, 4:10:35 PM (10 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- a5ab27d45c122614af41115f7486270074ab53f5
- Parents:
- a0e7db5bccc63a9fe9ea7898cd864a561f0656cc
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2014-08-07 16:10:35+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2014-08-07 16:12:11+02:00
- Location:
- Singular
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/modwalk.lib
ra0e7db rfde66a9 31 31 proc modpWalk(def II, int p, int variant, list #) 32 32 "USAGE: modpWalk(I,p,#); I ideal, p integer, variant integer 33 ASSUME: If size(#) > 0, then 33 ASSUME: If size(#) > 0, then 34 34 #[1] is an intvec describing the current weight vector 35 35 #[2] is an intvec describing the target weight vector 36 36 RETURN: ideal - a standard basis of I mod p, integer - p 37 37 NOTE: The procedure computes a standard basis of the ideal I modulo p and 38 fetches the result to the basering. 38 fetches the result to the basering. 39 39 EXAMPLE: example modpWalk; shows an example 40 40 " … … 89 89 { 90 90 list rl@r = ringlist(@r); 91 nvar@r = nvars(@r); 91 nvar@r = nvars(@r); 92 92 intvec w; 93 93 for(k = 1; k <= nvar@r; k++) … … 236 236 proc modWalk(def II, int variant, list #) 237 237 "USAGE: modWalk(II); II ideal or list(ideal,int) 238 ASSUME: If variant = 238 ASSUME: If variant = 239 239 @* - 1 the Random Walk algorithm with radius II[2] is applied 240 240 to II[1] if II = list(ideal, int). It is applied to II with radius 2 241 241 if II is an ideal. 242 @* 242 @* - 2, the Groebner Walk algorithm is applied to II[1] or to II, respectively. 243 243 @* - 3, the Fractal Walk algorithm with random element is applied to II[1] or II, 244 244 respectively. … … 246 246 @* - 5, the Perturbation Walk algorithm with random element is applied to II[1] 247 247 or II, respectively, with radius II[3] and perturbation degree II[2]. 248 @* 249 248 @* - 6, the Perturbation Walk algorithm is applied to II[1] or II, respectively, 249 with perturbation degree II[3]. 250 250 If size(#) > 0, then # contains either 1, 2 or 4 integers such that 251 251 @* - #[1] is the number of available processors for the computation, … … 300 300 II[3] = 2; 301 301 } 302 303 302 } 304 303 else … … 378 377 ERROR("Unexpected type of input."); 379 378 } 380 } 379 } 381 380 } 382 381 if(size(#) == 3) … … 739 738 } 740 739 results_chinrem = parallelWaitAll("chinrem",arguments_chinrem); 741 for(j=1; j <= size(results_chinrem); j++) 740 for(j=1; j <= size(results_chinrem); j++) 742 741 { 743 742 J = results_chinrem[j]; -
Singular/LIB/rwalk.lib
ra0e7db rfde66a9 1 <<<<<<< HEAD2 =======3 1 // 4 >>>>>>> 92644b759d66f085c842e4284d78c2e203291b67 5 version="$Id$"; 2 version="version rwalk.lib 4.0.0.0 Aug_2014 "; 6 3 category="Commutative Algebra"; 7 4 -
Singular/LIB/swalk.lib
ra0e7db rfde66a9 73 73 l=collectDiffExpo(Gold); 74 74 ulast=last(curr_weight, target_weight, l); 75 75 vector new_weight=(1-ulast)*curr_weight+ulast*target_weight; 76 76 vector w=cleardenom(new_weight); 77 77 v=changeType(w); … … 138 138 def old_ring=new_ring; 139 139 setring old_ring; 140 140 141 141 kill new_ring; 142 142 if(curr_weight==target_weight){n=1;} 143 143 else { 144 l=collectDiffExpo(Gold); 144 l=collectDiffExpo(Gold); 145 145 vector new_weight=RandomNextWeight(Gold, l, curr_weight, target_weight, weight_rad, pdeg); 146 146 vector w=cleardenom(new_weight); -
Singular/walk.h
ra0e7db rfde66a9 24 24 intvec* Mivlp(int nR); 25 25 26 intvec* MivMatrixOrder(intvec* iv); 27 intvec* MivMatrixOrderdp(int iv); 28 intvec* MPertVectors(ideal G, intvec* ivtarget, int pdeg); 29 intvec* MPertVectorslp(ideal G, intvec* ivtarget, int pdeg); 26 intvec* MivMatrixOrder(intvec* iv); 27 intvec* MivMatrixOrderdp(int iv); 28 intvec* MPertVectors(ideal G, intvec* ivtarget, int pdeg); 29 intvec* MPertVectorslp(ideal G, intvec* ivtarget, int pdeg); 30 30 31 31 32 32 intvec* MivMatrixOrderlp(int nV); 33 33 34 intvec* Mfpertvector(ideal G, intvec* iv); 34 intvec* Mfpertvector(ideal G, intvec* iv); 35 35 intvec* MivUnit(int nV); 36 36 37 intvec* MivWeightOrderlp(intvec* ivstart); 38 intvec* MivWeightOrderdp(intvec* ivstart); 37 intvec* MivWeightOrderlp(intvec* ivstart); 38 intvec* MivWeightOrderdp(intvec* ivstart); 39 39 40 ideal MidLift(ideal Gomega, ideal M); 40 ideal MidLift(ideal Gomega, ideal M); 41 41 ideal MLiftLmalG(ideal L, ideal G); 42 ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G); 43 ideal MLiftLmalGMin(ideal L, ideal G); 42 ideal MLiftLmalGNew(ideal Gomega, ideal M, ideal G); 43 ideal MLiftLmalGMin(ideal L, ideal G); 44 44 45 45 … … 52 52 53 53 /* Okt -- Nov'01 */ 54 // compute a Groebner basis of an ideal G w.r.t. lexicographic order 54 // compute a Groebner basis of an ideal G w.r.t. lexicographic order 55 55 ideal Mwalk(ideal Go, intvec* orig_M, intvec* target_M, ring baseRing); 56 56 // random walk algorithm to compute a Groebner basis … … 78 78 79 79 /* the first alternative algorithm */ 80 ideal MAltwalk1(ideal G,int op,int tp,intvec* curr_weight,intvec* target_weight); 80 ideal MAltwalk1(ideal G,int op,int tp,intvec* curr_weight,intvec* target_weight); 81 81 82 82 /* the second alternative algorithm */ 83 ideal MAltwalk2(ideal G, intvec* curr_weight, intvec* target_weight); 83 ideal MAltwalk2(ideal G, intvec* curr_weight, intvec* target_weight); 84 84 85 85 #endif //WALK_H
Note: See TracChangeset
for help on using the changeset viewer.