Changeset 4fc521 in git
- Timestamp:
- Jul 11, 2011, 8:38:25 PM (12 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 58b1160c31f60cc5b14e49848a7528f1889a1ba5
- Parents:
- e5af4b5bc5ff4018e9936109bc818b9e21ec2920
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/dmod.lib
re5af4b5 r4fc521 2450 2450 @* If eng <>0, @code{std} is used for Groebner basis computations, 2451 2451 @* otherwise, and by default @code{slimgb} is used. 2452 @* If met <>0, the B-Sigma ideal (cf. Castro and Ucha, 2453 @* 'On the computation of Bernstein-Sato ideals', 2005). Otherwise, and by 2454 @* default, the ideal B (cf. the paper) is computed. 2452 @* If met <0, the B-Sigma ideal (cf. Castro and Ucha, 2453 @* 'On the computation of Bernstein-Sato ideals', 2005) is computed. 2454 @* If 0 < met < P, then the ideal B_P (cf. the paper) is computed. 2455 @* Otherwise, and by default, the ideal B (cf. the paper) is computed. 2455 2456 @* If the output ideal happens to be principal, the list of factors 2456 2457 @* with their multiplicities is returned instead of the ideal. … … 2481 2482 def save = basering; 2482 2483 int N = nvars(basering); 2483 int P = size(F); //if F has some generators which are zero, int P = ncols(I); 2484 //if F has some generators which are zero, int P = ncols(I); 2485 int P = size(F); 2486 if (P < ncols(F)) 2487 { 2488 F = simplify(F,2); 2489 } 2490 P = size(F); 2491 if (P == 0) 2492 { 2493 ERROR("zero ideal in the input"); 2494 } 2484 2495 int Nnew = 2*N+2*P; 2485 2496 int i,j; … … 2661 2672 ideal F = imap(save,F); // maybe ideal F = R01(I); ? 2662 2673 ideal K = imap(@R,K); // maybe ideal K = R01(I); ? 2663 if (met) 2664 { 2665 poly f=1; 2666 for (j=1; j<=P; j++) 2667 { 2668 f = f*F[j]; 2669 } 2670 K = K,f; // to compute B (Bernstein-Sato ideal) 2671 dbprint(ppl,"// -2-1-1 computing the ideal B from Castro-Ucha"); 2672 } 2673 else 2674 2675 if (met <0) 2674 2676 { 2675 2677 //K = K,F; // to compute Bsigma (see "On the computation of Bernstein-Sato ideals"; Castro, Ucha) … … 2677 2679 dbprint(ppl,"// -2-1-1 computing the ideal B-Sigma from Castro-Ucha"); 2678 2680 } 2681 if ( (met>0) && (met<=ncols(F) ) ) 2682 { 2683 /* compute the ideal B_met */ 2679 2684 //j=2; // for example 2680 2685 //K = K,F[j]; // to compute Bj (see "On the computation of Bernstein-Sato ideals"; Castro, Ucha) 2686 dbprint(ppl,"// -2-1-1 computing the ideal B_i from Castro-Ucha"); 2687 K = K, F[met]; 2688 } 2689 if ( ( met == 0) || (met > ncols(F) ) ) 2690 { 2691 // that is met ==0 or met> ncols(F) 2692 /* compute the ideal B */ 2693 poly f=1; 2694 for (j=1; j<=P; j++) 2695 { 2696 f = f*F[j]; 2697 } 2698 K = K,f; // to compute B (Bernstein-Sato ideal) 2699 dbprint(ppl,"// -2-1-1 computing the ideal B from Castro-Ucha"); 2700 } 2681 2701 dbprint(ppl,"// -2-2- starting the elimination of _x,_Dx in @R2"); 2682 2702 dbprint(ppl-1, K); … … 2786 2806 ideal F = x,y,x+y; 2787 2807 printlevel = 0; 2808 // *1* let us compute the B ideal 2788 2809 def A = annfsBMI(F); setring A; 2789 2810 LD; // annihilator 2790 2811 BS; // Bernstein-Sato ideal 2791 // now, let us compute B-Sigma ideal2812 // *2* now, let us compute B-Sigma ideal 2792 2813 setring r; 2793 def Sigma = annfsBMI(F,0,1); setring Sigma; 2794 LD; // annihilator 2795 BS; // Bernstein-Sato B-Sigma ideal 2814 def Sigma = annfsBMI(F,0,-1); setring Sigma; 2815 print(matrix(lead(LD))); // compact form of leading 2816 // monomials from the annihilator 2817 BS; // Bernstein-Sato B-Sigma ideal: it is principal, 2818 // so factors and multiplicities are returned 2819 // *3* and now, let us compute B-i ideal 2820 setring r; 2821 def Bi = annfsBMI(F,0,3); // that is F[3]=x+y is taken 2822 setring Bi; 2823 print(matrix(lead(LD))); // compact form of leading 2824 // monomials from the annihilator 2825 BS; // the B_3 ideal: it is principal, so factors 2826 // and multiplicities are returned 2796 2827 } 2797 2828
Note: See TracChangeset
for help on using the changeset viewer.