Changeset 8256fd in git for factory/facFqFactorize.cc
- Timestamp:
- Jul 16, 2012, 11:15:58 AM (12 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- faa1b8d6e411251ef4c85b56aefa21b74f5db582
- Parents:
- 67a39b21729f20cbd2a5d3b6e61a60d67aa387d9
- git-author:
- Martin Lee <martinlee84@web.de>2012-07-16 11:15:58+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-09-04 17:25:37+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facFqFactorize.cc
r67a39b r8256fd 1182 1182 { 1183 1183 g= gcd (i.getItem().factor(), j.getItem().factor()); 1184 if (degree (g ) > 0)1184 if (degree (g,1) > 0) 1185 1185 { 1186 1186 j.getItem()= CFFactor (j.getItem().factor()/g, j.getItem().exp()); … … 1432 1432 } 1433 1433 1434 CFMap N; 1435 CanonicalForm F= compress (LCF, N); 1434 CFMap N, M; 1435 CFArray dummy= CFArray (1); 1436 dummy [0]= LCF; 1437 compress (dummy, M, N); 1438 CanonicalForm F= M (LCF); 1436 1439 if (LCF.isUnivariate()) 1437 1440 { … … 1476 1479 CFList factors= LCFFactors; 1477 1480 1478 CFMap dummy;1479 1481 for (CFListIterator i= factors; i.hasItem(); i++) 1480 i.getItem()= compress (i.getItem(), dummy);1482 i.getItem()= M (i.getItem()); 1481 1483 1482 1484 CanonicalForm sqrfPartF; … … 1498 1500 int lev= 0; 1499 1501 // LCF is non-constant here 1500 for (int i= 1; i <= LCF.level(); i++)1501 {1502 if(degree (LCF, i) > 0)1503 {1504 lev= i - 1;1505 break;1506 }1507 }1508 1502 CFList bufBufFactors; 1509 1503 CanonicalForm bufF, swap; … … 1520 1514 allConstant= false; 1521 1515 y= Variable (iter.getItem().level()); 1516 lev= M(y).level(); 1522 1517 } 1523 1518 } … … 1529 1524 iter.getItem()= swapvar (iter.getItem(), x, y); 1530 1525 bufF= F; 1531 z= Variable ( y.level() -lev);1526 z= Variable (lev); 1532 1527 bufF= swapvar (bufF, x, z); 1533 1528 bufBufFactors= bufFactors; … … 1700 1695 else 1701 1696 { 1702 factors= CFList (oldSqrfPartF); 1697 CanonicalForm contF=content (oldSqrfPartF,1); 1698 factors= CFList (oldSqrfPartF/contF); 1703 1699 interMedResult= recoverFactors (oldSqrfPartF, factors); 1704 1700 } … … 2547 2543 { 2548 2544 A= swapvar (A, y, v); 2549 for (int i= 0; i < A.level() - 2; i++)2550 {2551 if (oldAeval[i].isEmpty())2552 continue;2553 if (oldAeval[i].getFirst().level() == v.level())2554 {2555 biFactors= CFList();2556 for (CFListIterator iter= oldAeval [i]; iter.hasItem(); iter++)2557 biFactors.append (swapvar (iter.getItem(), v, y));2558 }2559 }2560 2545 int i= A.level(); 2561 2546 CanonicalForm evalPoint; … … 2569 2554 evaluation.append (evalPoint); 2570 2555 break; 2556 } 2557 } 2558 for (i= 0; i < A.level() - 2; i++) 2559 { 2560 if (oldAeval[i].isEmpty()) 2561 continue; 2562 if (oldAeval[i].getFirst().level() == v.level()) 2563 { 2564 CFArray tmp= copy (oldAeval[i]); 2565 for (int ii= 0; ii < tmp.size(); ii++) 2566 tmp[ii]= swapvar (tmp[ii], v, y); 2567 CFArray tmp2= CFArray (tmp.size()); 2568 CanonicalForm buf; 2569 for (int ii= 0; ii < tmp.size(); ii++) 2570 { 2571 buf= tmp[ii] (evaluation.getLast(),y); 2572 buf /= Lc (buf); 2573 tmp2[findItem (uniFactors, buf)-1]=tmp[ii]; 2574 } 2575 biFactors= CFList(); 2576 for (int j= 0; j < tmp2.size(); j++) 2577 biFactors.append (tmp2[j]); 2571 2578 } 2572 2579 }
Note: See TracChangeset
for help on using the changeset viewer.