Changeset eb481b in git
- Timestamp:
- Feb 16, 2012, 3:55:49 PM (11 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 583cb9fa220ca5d883a84c81ca72035b15d62ec1
- Parents:
- de222ec7eb2bfb6e75b27248dbeeebb1d1228587
- git-author:
- Martin Lee <martinlee84@web.de>2012-02-16 15:55:49+01:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-04-04 14:42:25+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facFqBivar.cc
rde222e reb481b 499 499 T.insert (LCBuf); 500 500 g= prodMod (T, M); 501 if (b.getp() != 0) 502 g= b(g); 501 503 T.removeFirst(); 502 504 result.append (g/content (g, x)); … … 522 524 test *= LCBuf; 523 525 test = mod (test, M); 526 if (b.getp() != 0) 527 test= b(test); 524 528 if (fdivides (test, buf0)) 525 529 { … … 527 531 g= prodMod (S, M); 528 532 S.removeFirst(); 533 if (b.getp() != 0) 534 g= b(g); 529 535 g /= content (g, x); 530 536 if (fdivides (g, buf, quot)) … … 892 898 CFList diophant; 893 899 CFList bufUniFactors= uniFactors; 900 CanonicalForm bufA= A; 901 CanonicalForm lcA0= 0; 902 if (getCharacteristic() == 0 && b.getp() != 0) 903 { 904 lcA0= lc (A (0, 2)); 905 A *= b.inverse (lcA0); 906 A= b (A); 907 for (CFListIterator i= bufUniFactors; i.hasItem(); i++) 908 i.getItem()= b (i.getItem()*b.inverse (lc (i.getItem()))); 909 } 894 910 bufUniFactors.insert (LC (A, x)); 895 911 CFMatrix M= CFMatrix (liftBound, bufUniFactors.length() - 1); … … 902 918 for (int i= 0; i < uniFactors.length(); i++) 903 919 factorsFoundIndex [i]= 0; 904 CanonicalForm bufA= A;905 920 906 921 if (smallFactorDeg >= liftBound || degree (A,y) <= 4) 907 henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M );922 henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M, true, b); 908 923 else if (sizeOfLiftPre > 1 && sizeOfLiftPre < 30) 909 924 { 910 henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M );925 henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b); 911 926 if (!extension) 912 927 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 913 928 factorsFoundIndex, degs, earlySuccess, 914 smallFactorDeg );929 smallFactorDeg, b); 915 930 else 916 931 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, … … 924 939 bufUniFactors.insert (LC (A, x)); 925 940 henselLiftResume12 (A, bufUniFactors, smallFactorDeg, 926 liftPre[sizeOfLiftPre-1] + 1, Pi, diophant, M );941 liftPre[sizeOfLiftPre-1] + 1, Pi, diophant, M, b); 927 942 if (!extension) 928 943 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 929 944 factorsFoundIndex, degs, earlySuccess, 930 liftPre[sizeOfLiftPre-1] + 1 );945 liftPre[sizeOfLiftPre-1] + 1, b); 931 946 else 932 947 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, … … 945 960 bufUniFactors.insert (LC (A, x)); 946 961 henselLiftResume12 (A, bufUniFactors, liftPre[i] + 1, 947 liftPre[i-1] + 1, Pi, diophant, M );962 liftPre[i-1] + 1, Pi, diophant, M, b); 948 963 if (!extension) 949 964 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 950 965 factorsFoundIndex, degs, earlySuccess, 951 liftPre[i-1] + 1 );966 liftPre[i-1] + 1, b); 952 967 else 953 968 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, … … 968 983 else 969 984 { 970 henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M );985 henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b); 971 986 if (!extension) 972 987 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 973 988 factorsFoundIndex, degs, earlySuccess, 974 smallFactorDeg );989 smallFactorDeg, b); 975 990 else 976 991 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, … … 985 1000 bufUniFactors.insert (LC (A, x)); 986 1001 henselLiftResume12 (A, bufUniFactors, smallFactorDeg, 987 dummy, Pi, diophant, M );1002 dummy, Pi, diophant, M, b); 988 1003 if (!extension) 989 1004 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 990 factorsFoundIndex, degs, earlySuccess, dummy );1005 factorsFoundIndex, degs, earlySuccess, dummy, b); 991 1006 else 992 1007 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, … … 1001 1016 dummy= tmin (degree (A,y)+1, (degree (A,y)/4)*(i+1)+4); 1002 1017 henselLiftResume12 (A, bufUniFactors, (degree (A,y)/4)*i + 4, 1003 dummy, Pi, diophant, M );1018 dummy, Pi, diophant, M, b); 1004 1019 if (!extension) 1005 1020 earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound, 1006 factorsFoundIndex, degs, earlySuccess, dummy );1021 factorsFoundIndex, degs, earlySuccess, dummy,b); 1007 1022 else 1008 1023 extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
Note: See TracChangeset
for help on using the changeset viewer.