- Timestamp:
- Jan 10, 2013, 4:58:48 PM (11 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- a60b8bed450e0ed0680beff9febf2b8c0daf5140
- Parents:
- 074fe740d62bf760e61d3a4d06d754c2dbca7c01
- git-author:
- Martin Lee <martinlee84@web.de>2013-01-10 16:58:48+01:00
- git-committer:
- Martin Lee <martinlee84@web.de>2013-02-18 15:01:48+01:00
- Location:
- factory
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facFqFactorize.cc
r074fe7 rbbcc98 2583 2583 { 2584 2584 cont= content (iter.getItem(), 1); 2585 cont= gcd (cont 2585 cont= gcd (cont, LCmultiplier); 2586 2586 contents.append (cont); 2587 2587 if (cont.inCoeffDomain()) // trivial content->LCmultiplier needs to go there -
factory/facFqFactorize.h
r074fe7 rbbcc98 737 737 ); 738 738 739 void 740 LCHeuristic2 (const CanonicalForm& LCmultiplier, 741 const CFList& factors, 742 CFList& leadingCoeffs, 743 CFList& contents, 744 CFList& LCs, 745 bool& foundTrueMultiplier 739 /// heuristic to distribute @a LCmultiplier onto factors based on the contents 740 /// of @a factors. @a factors are assumed to come from LucksWangSparseHeuristic. 741 /// If not successful @a contents will contain the content of each element of @a 742 /// factors and @a LCs will contain the LC of each element of @a factors divided 743 /// by its content 744 void 745 LCHeuristic2 (const CanonicalForm& LCmultiplier,///<[in] divisor of LC (A,1) 746 const CFList& factors, ///<[in] result of 747 ///< LucksWangSparseHeuristic 748 CFList& leadingCoeffs, ///<[in,out] leading coeffs 749 CFList& contents, ///<[in,out] content of factors 750 CFList& LCs, ///<[in,out] LC of factors 751 ///< divided by content of 752 ///< factors 753 bool& foundTrueMultiplier ///<[in,out] success? 746 754 ); 747 755 748 void 749 LCHeuristic3 (const CanonicalForm& LCmultiplier, 750 const CFList& factors, 751 const CFList& oldBiFactors, 752 const CFList& contents, 753 const CFList* oldAeval, 754 CanonicalForm& A, 755 CFList*& leadingCoeffs, 756 int lengthAeval, 757 bool& foundMultiplier 756 /// heuristic to remove @a LCmultiplier from a factor based on the contents 757 /// of @a factors. @a factors are assumed to come from LucksWangSparseHeuristic. 758 void 759 LCHeuristic3 (const CanonicalForm& LCmultiplier,///<[in] divisor of LC (A,1) 760 const CFList& factors, ///<[in] result of 761 ///< LucksWangSparseHeuristic 762 const CFList& oldBiFactors, ///<[in] bivariate factors 763 ///< without LCmultiplier 764 ///< distributed on them 765 const CFList& contents, ///<[in] content of factors 766 const CFList* oldAeval, ///<[in] bivariate factors wrt. 767 ///< different second vars 768 CanonicalForm& A, ///<[in,out] poly 769 CFList*& leadingCoeffs, ///<[in,out] leading coeffs 770 int lengthAeval, ///<[in] length of oldAeval 771 bool& foundMultiplier ///<[in,out] success? 758 772 ); 759 773 760 void 761 LCHeuristic4 (const CFList& oldBiFactors, 762 const CFList* oldAeval, 763 const CFList& contents, 764 const CFList& factors, 765 const CanonicalForm& testVars, 766 int lengthAeval, 767 CFList*& leadingCoeffs, 768 CanonicalForm& A, 769 CanonicalForm& LCmultiplier, 770 bool& foundMultiplier 774 /// heuristic to remove factors of @a LCmultiplier from @a factors. 775 /// More precisely checks if elements of @a contents divide @a LCmultiplier. 776 /// Assumes LCHeuristic3 is run before it and was successful. 777 void 778 LCHeuristic4 (const CFList& oldBiFactors, ///<[in] bivariate factors 779 ///< without LCmultiplier 780 ///< distributed on them 781 const CFList* oldAeval, ///<[in] bivariate factors wrt. 782 ///< different second vars 783 const CFList& contents, ///<[in] content of factors 784 const CFList& factors, ///<[in] result of 785 ///< LucksWangSparseHeuristic 786 const CanonicalForm& testVars,///<[in] product of second vars that 787 ///< occur among oldAeval 788 int lengthAeval, ///<[in] length of oldAeval 789 CFList*& leadingCoeffs, ///<[in,out] leading coeffs 790 CanonicalForm& A, ///<[in,out] poly 791 CanonicalForm& LCmultiplier, ///<[in,out] divisor of LC (A,1) 792 bool& foundMultiplier ///<[in] success? 771 793 ); 772 794
Note: See TracChangeset
for help on using the changeset viewer.