Changeset b4af1b in git for factory/facBivar.cc
- Timestamp:
- Mar 9, 2012, 12:47:25 PM (12 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- f9da5e777f690b6f9e44916c1818b0b98c02a70b
- Parents:
- 41fea7e7855abb0fa24d84704ca2690c219670fb
- git-author:
- Martin Lee <martinlee84@web.de>2012-03-09 12:47:25+01:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-04-04 14:42:27+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facBivar.cc
r41fea7 rb4af1b 106 106 int N= degree (mipo); 107 107 CanonicalForm b; 108 b= 2*power (maxNorm (f), N)*power (maxNorm (mipo), 4*N)*K*power (CanonicalForm (2), N)*(CanonicalForm (M+1).sqrt()+1)*power (CanonicalForm (N+1).sqrt()+1, 7*N); 108 b= 2*power (maxNorm (f), N)*power (maxNorm (mipo), 4*N)*K* 109 power (CanonicalForm (2), N)*(CanonicalForm (M+1).sqrt()+1)* 110 power (CanonicalForm (N+1).sqrt()+1, 7*N); 109 111 b /= power (abs (lc (mipo)), N); 110 112 … … 358 360 A= F; 359 361 362 CanonicalForm mipo; 363 if (extension) 364 mipo= getMipo (v); 365 360 366 if (A.isUnivariate()) 361 367 { … … 612 618 } 613 619 614 615 620 if (degs.getLength() == 1) // A is irreducible 616 621 { … … 645 650 if (bb.getk() > b.getk() ) b=bb; 646 651 } 652 else 653 { 654 A /= Lc (Aeval); 655 A *= bCommonDen (A); 656 // make factors elements of Z(a)[x] disable for modularDiophant 657 for (CFListIterator i= uniFactors; i.hasItem(); i++) 658 i.getItem()= i.getItem()*bCommonDen(i.getItem()); 659 Off (SW_RATIONAL); 660 int i= 0; 661 ZZX NTLmipo= convertFacCF2NTLZZX (mipo); 662 CanonicalForm discMipo= convertZZ2CF (discriminant (NTLmipo)); 663 findGoodPrime (F*discMipo,i); 664 findGoodPrime (Aeval*discMipo,i); 665 findGoodPrime (A*discMipo,i); 666 667 int p=cf_getBigPrime(i); 668 b = coeffBound( A, p, mipo ); 669 modpk bb= coeffBound (Aeval, p, mipo); 670 if (bb.getk() > b.getk() ) b=bb; 671 bb= coeffBound (F, p, mipo); 672 if (bb.getk() > b.getk() ) b=bb; 673 } 647 674 648 675 ExtensionInfo dummy= ExtensionInfo (false); 676 if (extension) 677 dummy= ExtensionInfo (v, false); 649 678 bool earlySuccess= false; 650 679 CFList earlyFactors; 651 680 TIMING_START (fac_hensel_lift); 652 //maybe one should use a multiple of LC (A,1) and try a nonmonic lifting here?653 681 uniFactors= henselLiftAndEarly 654 682 (A, earlySuccess, earlyFactors, degs, liftBound, … … 662 690 uniFactors.length()/2, b); 663 691 664 if (!extension) 665 On (SW_RATIONAL); 692 On (SW_RATIONAL); 666 693 667 694 if (earlySuccess)
Note: See TracChangeset
for help on using the changeset viewer.