Changeset a088613 in git
- Timestamp:
- Aug 15, 2013, 2:21:33 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 300f40eb0664d85517ba38324ca87907755992e9
- Parents:
- bcab31ba658e499a2abb00bb5cbaa99aca1ea4f2
- git-author:
- Martin Lee <martinlee84@web.de>2013-08-15 14:21:33+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2013-08-30 13:48:34+02:00
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/absfact.lib
rbcab31 ra088613 7 7 Gregoire Lecerf, lecerf at math.uvsq.fr 8 8 Gerhard Pfister, pfister at mathematik.uni-kl.de 9 Martin Lee, mlee at mathematik.uni-kl.de 9 10 10 11 OVERVIEW: … … 16 17 Then a minimal extension field is determined making use of the 17 18 Rothstein-Trager partial fraction decomposition algorithm. 19 absFactorizeBCG uses the algorithm of Bertone, Cheze and Galligo for bivariate 20 polynomials and similar ideas as above to reduce to this case. 18 21 19 22 REFERENCES: 20 23 G. Cheze, G. Lecerf: Lifting and recombination techniques for absolute 21 24 factorization. Journal of Complexity, 23(3):380-420, 2007. 25 C. Bertone, G. Cheze, and A. Galligo: Modular las vegas algorithms for 26 polynomial absolute factorization. J. Symb. Comput., 27 45(12):1280-1295, December 2010 22 28 23 29 KEYWORDS: factorization; absolute factorization. … … 26 32 PROCEDURES: 27 33 absFactorize(); absolute factorization of poly 28 abs BiFactorize(); absolute factorization of bivariatepoly34 absFactorizeBCG(); absolute factorization of poly 29 35 "; 30 36 … … 611 617 612 618 //////////////////////////////////////////////////////////////////////////////// 613 proc abs BiFactorize(poly p, list #)614 "USAGE: abs BiFactorize(p [,s]); p poly, s string619 proc absFactorizeBCG(poly p, list #) 620 "USAGE: absFactorizeBCG(p [,s]); p poly, s string 615 621 ASSUME: coefficient field is the field of rational numbers or a 616 622 transcendental extension thereof … … 637 643 no field extension was necessary for the @code{j}th (class of) 638 644 absolute factor(s). 639 NOTE: The input polynomial p is assumed to be bivariate or to contain one para- 640 meter and one variable. All factors are presented denominator- and 641 content-free. The constant factor (first entry) is chosen such that the 642 product of all (!) the (denominator- and content-free) absolute factors 643 of @code{p} equals @code{p / absolute_factors[1][1]}. 645 NOTE: All factors are presented denominator- and content-free. The constant 646 factor (first entry) is chosen such that the product of all (!) the 647 (denominator- and content-free) absolute factors of @code{p} equals 648 @code{p / absolute_factors[1][1]}. 644 649 SEE ALSO: factorize, absPrimdecGTZ, absFactorize 645 EXAMPLE: example abs BiFactorize; shows an example650 EXAMPLE: example absFactorizeBCG; shows an example 646 651 " 647 652 { 648 653 int dblevel = printlevel - voice + 2; 649 dbprint(dblevel,"Entering absfact.lib::abs BiFactorizewith ",p);654 dbprint(dblevel,"Entering absfact.lib::absFactorizeBCG with ",p); 650 655 def MP = basering; 651 656 int i; 652 657 if (char(MP) != 0) 653 658 { 654 ERROR("// absfact.lib::abs BiFactorizeis only implemented for "+659 ERROR("// absfact.lib::absFactorizeBCG is only implemented for "+ 655 660 "characteristic 0"); 656 661 } 657 662 if(minpoly!=0) 658 663 { 659 ERROR("// absfact.lib::abs BiFactorizeis not implemented for algebraic "664 ERROR("// absfact.lib::absFactorizeBCG is not implemented for algebraic " 660 665 +"extensions"); 661 666 } … … 755 760 } 756 761 757 list tmpf=system ("abs BiFact", p);762 list tmpf=system ("absFact", p); 758 763 759 764 // the homogeneous case, homogenizing the result … … 818 823 819 824 dbprint( printlevel-voice+3," 820 // 'abs BiFactorize' created a ring, in which a list absolute_factors (the825 // 'absFactorizeBCG' created a ring, in which a list absolute_factors (the 821 826 // absolute factors) is stored. 822 827 // To access the list of absolute factors, type (if the name S was assigned … … 830 835 ring R = (0), (x,y), lp; 831 836 poly p = (-7*x^2 + 2*x*y^2 + 6*x + y^4 + 14*y^2 + 47)*(5x2+y2)^3*(x-y)^4; 832 def S = abs BiFactorize(p) ;837 def S = absFactorizeBCG(p) ; 833 838 setring(S); 834 839 absolute_factors; -
Tst/Short/absfact.tst
rbcab31 ra088613 12 12 absolute_factors; 13 13 setring R; 14 def T= abs BiFactorize(p);14 def T= absFactorizeBCG (p); 15 15 setring T; 16 16 short= 0; … … 26 26 absolute_factors; 27 27 setring R; 28 def T= abs BiFactorize(p);28 def T= absFactorizeBCG (p); 29 29 setring T; 30 30 short= 0; … … 36 36 poly p = (5x2+y2); 37 37 absFactorize(p,77) ; 38 abs BiFactorize(p,77);38 absFactorizeBCG (p,77); 39 39 40 40 kill R; … … 47 47 absolute_factors; 48 48 setring R; 49 def T= abs BiFactorize(p);49 def T= absFactorizeBCG (p); 50 50 setring T; 51 51 short= 0; … … 59 59 absolute_factors; 60 60 setring r; 61 def T= abs BiFactorize(p, "s");61 def T= absFactorizeBCG(p, "s"); 62 62 setring T; 63 63 absolute_factors; … … 70 70 absolute_factors; 71 71 setring r; 72 def T= abs BiFactorize(p);72 def T= absFactorizeBCG(p); 73 73 setring T; 74 74 absolute_factors; … … 81 81 absolute_factors; 82 82 setring r; 83 def T= abs BiFactorize(p);83 def T= absFactorizeBCG(p); 84 84 setring T; 85 85 absolute_factors; … … 92 92 absolute_factors; 93 93 setring r; 94 def T= abs BiFactorize(p);94 def T= absFactorizeBCG(p); 95 95 setring T; 96 96 absolute_factors; … … 103 103 absolute_factors; 104 104 setring r; 105 def T= abs BiFactorize(p);105 def T= absFactorizeBCG(p); 106 106 setring T; 107 107 absolute_factors; … … 114 114 absolute_factors; 115 115 setring r; 116 def T= abs BiFactorize(p,"s");116 def T= absFactorizeBCG(p,"s"); 117 117 setring T; 118 118 absolute_factors; … … 125 125 absolute_factors; 126 126 setring r; 127 def T= abs BiFactorize(p,"s");127 def T= absFactorizeBCG(p,"s"); 128 128 setring T; 129 129 absolute_factors; … … 136 136 absolute_factors; 137 137 setring r; 138 def T= abs BiFactorize(p,"s");138 def T= absFactorizeBCG(p,"s"); 139 139 setring T; 140 140 absolute_factors; … … 146 146 absolute_factors; 147 147 setring R1; 148 def T= abs BiFactorize(f);148 def T= absFactorizeBCG(f); 149 149 setring T; 150 150 absolute_factors; … … 156 156 absolute_factors; 157 157 setring R3; 158 def T=abs BiFactorize(f3);158 def T=absFactorizeBCG (f3); 159 159 setring T; 160 160 absolute_factors; … … 166 166 absolute_factors; 167 167 setring r2; 168 def T=abs BiFactorize(f);168 def T=absFactorizeBCG (f); 169 169 setring T; 170 170 absolute_factors; … … 176 176 absolute_factors; 177 177 setring r1; 178 def T=abs BiFactorize(p);178 def T=absFactorizeBCG (p); 179 179 setring T; 180 180 absolute_factors; … … 186 186 absolute_factors; 187 187 setring r3; 188 def T=abs BiFactorize(f);188 def T=absFactorizeBCG (f); 189 189 setring T; 190 190 absolute_factors; … … 196 196 absolute_factors; 197 197 setring R; 198 def T=abs BiFactorize(f);198 def T=absFactorizeBCG (f); 199 199 setring T; 200 200 absolute_factors;
Note: See TracChangeset
for help on using the changeset viewer.