Changeset cd7ce9b in git
- Timestamp:
- Jul 19, 2013, 5:29:51 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 70073a2b66e97fcaccabe33c14bb671aa245992c
- Parents:
- 3e0c11d34cd0300998b687c191f99d28fea7f47c
- git-author:
- Martin Lee <martinlee84@web.de>2013-07-19 17:29:51+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2013-07-22 15:49:54+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facHensel.cc
r3e0c11d rcd7ce9b 35 35 #include <NTL/lzz_pEX.h> 36 36 #include "NTLconvert.h" 37 38 TIMING_DEFINE_PRINT (diotime) 39 TIMING_DEFINE_PRINT (product1) 40 TIMING_DEFINE_PRINT (product2) 41 TIMING_DEFINE_PRINT (hensel23) 42 TIMING_DEFINE_PRINT (hensel) 37 43 38 44 static … … 2062 2068 CFListIterator j= products; 2063 2069 for (CFListIterator i= recDiophantine; i.hasItem(); i++, j++) 2064 e -= i.getItem()*j.getItem();2070 e -= j.getItem()*i.getItem(); 2065 2071 2066 2072 CFList result= recDiophantine; … … 2084 2090 { 2085 2091 k.getItem() += j.getItem()*power (y, i); 2086 e -= j.getItem()*power (y, i)*l.getItem();2092 e -= l.getItem()*(j.getItem()*power (y, i)); 2087 2093 } 2088 2094 } … … 2132 2138 2133 2139 // actual lifting 2140 TIMING_START (diotime); 2134 2141 CFList diophantine2= diophantine (diophant, factors, products, MOD, E, 2135 2142 noOneToOne); … … 2144 2151 bufFactors[k] += xToJ*i.getItem(); 2145 2152 } 2153 TIMING_END_AND_PRINT (diotime, "time for dio: "); 2146 2154 2147 2155 // update Pi [0] 2156 TIMING_START (product2); 2148 2157 int degBuf0= degree (bufFactors[0], x); 2149 2158 int degBuf1= degree (bufFactors[1], x); … … 2330 2339 Pi[l] += tmp[l]*xToJ*F.mvar(); 2331 2340 } 2341 TIMING_END_AND_PRINT (product2, "time for product in hensel step: "); 2332 2342 return; 2333 2343 } … … 2540 2550 bufF= mod (bufF, Variable (3)); 2541 2551 2552 TIMING_START (diotime); 2542 2553 diophant= diophantine (bufF, bufFactors2); 2554 TIMING_END_AND_PRINT (diotime, "time for dio in 23: "); 2543 2555 2544 2556 CFMatrix M= CFMatrix (liftBound, bufFactors2.length() - 1); … … 2604 2616 CFList products; 2605 2617 bufF= mod (F, Variable (3)); 2618 TIMING_START (product1); 2606 2619 for (CFListIterator k= factors; k.hasItem(); k++) 2607 2620 products.append (bufF/k.getItem()); 2621 TIMING_END_AND_PRINT (product1, "time for product1 in 23: "); 2608 2622 2609 2623 CFList MOD= CFList (power (v, liftBound)); … … 2668 2682 CanonicalForm quot, bufF= F.getFirst(); 2669 2683 2684 TIMING_START (product1); 2670 2685 for (int i= 0; i < bufFactors.size(); i++) 2671 2686 { … … 2689 2704 } 2690 2705 } 2706 TIMING_END_AND_PRINT (product1, "time for product1 in further hensel:" ); 2691 2707 2692 2708 for (int d= 1; d < lNew; d++) … … 2716 2732 int k= 0; 2717 2733 2734 TIMING_START (hensel23); 2718 2735 CFList result= 2719 2736 nonMonicHenselLift23 (eval.getFirst(), factors, LCs [0], diophant, bufPi, 2720 2737 liftBound[1], liftBound[0], noOneToOne); 2738 TIMING_END_AND_PRINT (hensel23, "time for 23: "); 2721 2739 2722 2740 if (noOneToOne) … … 2740 2758 bufEval.append (j.getItem()); 2741 2759 M= CFMatrix (liftBound[i], factors.length() - 1); 2760 TIMING_START (hensel); 2742 2761 result= nonMonicHenselLift (bufEval, result, LCs [i-1], diophant, bufPi, M, 2743 2762 liftBound[i-1], liftBound[i], MOD, noOneToOne); 2763 TIMING_END_AND_PRINT (hensel, "time for further hensel: "); 2744 2764 if (noOneToOne) 2745 2765 return result;
Note: See TracChangeset
for help on using the changeset viewer.