Changeset 9e74d36 in git
- Timestamp:
- May 22, 2014, 3:12:08 PM (9 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 311dbd7ee168c47e2035bb6610892cdcc61130eb
- Parents:
- 42aa8b885057d0efb3d7c9eb85289d8d9b2e1e7f
- git-author:
- Martin Lee <martinlee84@web.de>2014-05-22 15:12:08+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2014-06-04 11:54:57+02:00
- Location:
- factory
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facAlgExt.cc
r42aa8b8 r9e74d36 225 225 else 226 226 tmp2.append (factor); 227 if (buf.inCoeffDomain()) 228 break; 227 229 count++; 228 230 if (normFactors.length() - 1 == count) -
factory/facAlgFunc.cc
r42aa8b8 r9e74d36 430 430 { 431 431 bool isRat= isOn (SW_RATIONAL); 432 CFFList L, sqrfFactors, Factorlist, tmp;432 CFFList L, normFactors, tmp; 433 433 CFFListIterator iter, iter2; 434 434 CanonicalForm R, Rstar, s, g, h, f= F; … … 448 448 if (!isRat && getCharacteristic() == 0) 449 449 On (SW_RATIONAL); 450 Factorlist= factorize (g, alpha);451 452 for (iter= Factorlist; iter.hasItem(); iter++)450 tmp= factorize (g, alpha); // factorization over number field 451 452 for (iter= tmp; iter.hasItem(); iter++) 453 453 { 454 454 h= iter.getItem().factor(); … … 508 508 { 509 509 f= iter.getItem().factor(); 510 sqrfFactors=norm (f, Rstar, *Gen, s, g, R, false);510 (void) norm (f, Rstar, *Gen, s, g, R, false); 511 511 512 512 if (hasFirstAlgVar (R, X)) 513 Factorlist= factorize (R, X);513 normFactors= factorize (R, X); 514 514 else 515 Factorlist= factorize (R);516 517 if ( !Factorlist.getFirst().factor().inCoeffDomain())518 Factorlist.insert (CFFactor (1, 1));519 if ( Factorlist.length() == 2 && Factorlist.getLast().exp() == 1)515 normFactors= factorize (R); 516 517 if (normFactors.getFirst().factor().inCoeffDomain()) 518 normFactors.removeFirst(); 519 if (normFactors.length() == 1 && normFactors.getLast().exp() == 1) 520 520 { 521 521 f= backSubst (f, backSubsts, Astar); … … 530 530 { 531 531 g= f; 532 for (iter2= Factorlist; iter2.hasItem(); iter2++) 532 int count= 0; 533 for (iter2= normFactors; iter2.hasItem(); iter2++) 533 534 { 534 535 CanonicalForm fnew= iter2.getItem().factor(); 535 if (fnew.level() < Rstar.level()) //factor is a constant from the function field536 if (fnew.level() <= Rstar.level()) //factor is a constant from the function field 536 537 continue; 537 538 else … … 547 548 h /= vcontent (h, Rstar.mvar()); 548 549 549 if (h.level() > =Rstar.level())550 if (h.level() > Rstar.level()) 550 551 { 551 552 g= divide (g, h, Rstarlist); … … 560 561 else 561 562 tmp.append (CFFactor (h, iter2.getItem().exp())); 563 } 564 count++; 565 if (g.level() <= Rstar.level()) 566 break; 567 if (count == normFactors.length() - 1) 568 { 569 if (normFactors.getLast().exp() == 1 && g.level() > Rstar.level()) 570 { 571 g= backSubst (g, backSubsts, Astar); 572 g= Prem (g, as); 573 g *= bCommonDen (g); 574 g /= vcontent (g, as.getFirst().mvar()); 575 L.append (CFFactor (g, 1)); 576 } 577 else if (normFactors.getLast().exp() > 1 && 578 g.level() > Rstar.level()) 579 { 580 g /= vcontent (g, Rstar.mvar()); 581 tmp.append (CFFactor (g, normFactors.getLast().exp())); 582 } 583 break; 562 584 } 563 585 }
Note: See TracChangeset
for help on using the changeset viewer.