- Timestamp:
- Mar 25, 2022, 9:47:17 PM (2 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- 36b837d5b06f149cd26135419d1e9b415137afec
- Parents:
- 4ccfc07e7eeceaffdba21722d69b04440a736a71
- Location:
- Singular/LIB
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/integralbasis.lib
r4ccfc07 ra96a75 1240 1240 1241 1241 dbprint(dbg, "--Building HenselBlocks..."); 1242 int degExpand = int(maxExp) ;1242 int degExpand = int(maxExp) + 1; 1243 1243 dbprint(dbg, "---- Degree of expansions: ", degExpand); 1244 1244 … … 2740 2740 list rings; 2741 2741 2742 for(i = 1; i <= size(l); i++){ 2743 if(typeof(l[i]) == "ring"){ 2742 for(i = 1; i <= size(l); i++) 2743 { 2744 if(typeof(l[i]) == "ring") 2745 { 2744 2746 def S = l[i]; 2745 2747 setring S; 2746 2748 list rl; 2747 2749 numb = size(PE); 2748 for(j = 1; j <= numb; j++){ 2750 for(j = 1; j <= numb; j++) 2751 { 2749 2752 rl = ringlist(S); 2750 2753 def SS = ring(rl); … … 2787 2790 for(i = 1; i <= size(l); i++) 2788 2791 { 2789 if(typeof(l[i]) == "ring"){ 2792 if(typeof(l[i]) == "ring") 2793 { 2790 2794 l2 = l2 + explodeRings(l[i]); 2791 2795 } else … … 2794 2798 } 2795 2799 } 2796 l = l2;2797 2800 2798 2801 int k = 1; 2799 2802 classes[k] = list(); 2800 classes[k][1] = l [1];2803 classes[k][1] = l2[1]; 2801 2804 classCode[1] = 1; 2802 2805 2803 2806 def R = basering; 2804 2807 2805 for(i = 1; i <= size(l); i++){ 2806 if(typeof(l[i]) == "ring"){ 2807 def S = l[i]; 2808 for(i = 1; i <= size(l2); i++) 2809 { 2810 if(typeof(l2[i]) == "ring") 2811 { 2812 def S = l2[i]; 2808 2813 setring S; 2809 2814 code[i] = PE[1][6]; … … 2811 2816 kill S; 2812 2817 } else { 2813 code[i] = l [i][6];2818 code[i] = l2[i][6]; 2814 2819 } 2815 2820 if(i>1) … … 2827 2832 k++; 2828 2833 classes[k] = list(); 2829 classes[k][1] = l [i];2834 classes[k][1] = l2[i]; 2830 2835 classCode[i] = k; 2831 2836 } else 2832 2837 { 2833 2838 cc = classCode[prevI]; 2834 classes[cc][size(classes[cc])+1] = l [i];2839 classes[cc][size(classes[cc])+1] = l2[i]; 2835 2840 classCode[i] = classCode[prevI]; 2836 2841 } -
Singular/LIB/puiseuxexpansions.lib
r4ccfc07 ra96a75 462 462 for(ii = 2; ii <= size(fJe[1]); ii++) 463 463 { 464 cod++; 464 if((ii == 2) || (nonRatCoeff(fJe[1][ii]) == 0)) // If the factor is over the ground field then it is a new conjugacy class. 465 { 466 cod++; 467 } 465 468 fTemp = subst(fJe[1][ii]^(fJe[2][ii]), var(1), var(1)^slD); 466 469 // Checks if a new extension is needed. … … 665 668 { 666 669 poly fNew2 = subst(fNew1, var(2), (newA + var(2))*var(1)^slN); 667 } else { 670 } else 671 { 668 672 poly fNew2 = negExp(fNew1, newA, slN); 669 673 } 670 674 fNew2= sat(ideal(fNew2), var(1))[1][1]; 671 if(maxDeg > 0){ 675 if(maxDeg > 0) 676 { 672 677 newMaxDeg = maxDeg * slD - slN; 673 678 } else { … … 675 680 } 676 681 list csTS = puiseuxMain(fNew2, newMaxDeg, slN, 1, 0); 677 for(k = 1; k<=size(csTS); k++){ 678 if(typeof(csTS[k]) == "ring"){ 682 for(k = 1; k<=size(csTS); k++) 683 { 684 if(typeof(csTS[k]) == "ring") 685 { 679 686 def RT = csTS[k]; 680 687 setring RT; … … 1129 1136 1130 1137 1138 // Checks if the coefficents of a polynomial are rational or contain some parameter 1139 static proc nonRatCoeff(poly p) 1140 { 1141 matrix cc = coef(p, var(1)*var(2)); 1142 int nonRat = 0; 1143 for(int i = 1; i <= ncols(cc); i++) 1144 { 1145 if(pardeg(number(cc[2,i])) > 0) 1146 { 1147 nonRat = 1; 1148 } 1149 } 1150 return(nonRat); 1151 }
Note: See TracChangeset
for help on using the changeset viewer.