Changeset d1553c in git
- Timestamp:
- May 12, 2012, 11:58:32 PM (11 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'f875bbaccd0831e36aaed09ff6adeb3eb45aeb94')
- Children:
- 3ed675898c2676dd8ccc1bcc862fa6d6b80b234e
- Parents:
- ea5ff1d5094b84bbc2e29abd61b17ca3343f5c23
- git-author:
- Martin Lee <martinlee84@web.de>2012-05-12 23:58:32+02:00
- git-committer:
- Martin Lee <martinlee84@web.de>2012-07-31 11:32:56+02:00
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/facFqBivar.h
rea5ff1d rd1553c 261 261 decompress (contentXFactors, N); 262 262 decompress (contentYFactors, N); 263 CFFList result , resultRoot;263 CFFList result; 264 264 if (F.inCoeffDomain()) 265 265 { … … 272 272 vec_ZZ S; 273 273 F= compress (F, M, S); 274 CanonicalForm pthRoot, A; 275 CanonicalForm sqrfP= sqrfPart (F/Lc(F), pthRoot, info.getAlpha()); 276 CFList buf, bufRoot; 277 int p= getCharacteristic(); 278 int l; 279 if (degree (pthRoot) > 0) 280 { 281 pthRoot= maxpthRoot (pthRoot, p, l); 282 result= FpBiFactorize (pthRoot, false); 283 result.removeFirst(); 284 for (CFFListIterator i= result; i.hasItem(); i++) 285 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 286 i.getItem().exp()*ipower (p,l)); 287 result= Union (result, contentXFactors); 288 result= Union (result, contentYFactors); 289 normalize (result); 290 result.insert (CFFactor (LcF, 1)); 291 return result; 292 } 293 else 294 { 295 buf= biFactorize (sqrfP, info); 296 A= F/LcF; 297 result= multiplicity (A, buf); 298 for (CFFListIterator i= result; i.hasItem(); i++) 299 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 300 i.getItem().exp()); 301 } 302 if (degree (A) > 0) 303 { 304 resultRoot= FpBiFactorize (A, false); 305 resultRoot.removeFirst(); 306 for (CFFListIterator i= resultRoot; i.hasItem(); i++) 307 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 308 i.getItem().exp()); 309 result= Union (result, resultRoot); 310 } 274 275 CFFList sqrf= FpSqrf (F, false); 276 CFList bufResult; 277 sqrf.removeFirst(); 278 CFListIterator i; 279 for (CFFListIterator iter= sqrf; iter.hasItem(); iter++) 280 { 281 bufResult= biFactorize (iter.getItem().factor(), info); 282 for (i= bufResult; i.hasItem(); i++) 283 result.append (CFFactor (N (decompress (i.getItem(), M, S)), 284 iter.getItem().exp())); 285 } 286 311 287 result= Union (result, contentXFactors); 312 288 result= Union (result, contentYFactors); … … 386 362 decompress (contentXFactors, N); 387 363 decompress (contentYFactors, N); 388 CFFList result , resultRoot;364 CFFList result; 389 365 if (F.inCoeffDomain()) 390 366 { … … 397 373 vec_ZZ S; 398 374 F= compress (F, M, S); 399 CanonicalForm pthRoot, A, tmp; 400 CanonicalForm sqrfP= sqrfPart (F/Lc(F), pthRoot, alpha); 401 CFList buf, bufRoot; 402 int p= getCharacteristic(); 403 int q= ipower (p, degree (getMipo (alpha))); 404 int l; 405 if (degree (pthRoot) > 0) 406 { 407 pthRoot= maxpthRoot (pthRoot, q, l); 408 result= FqBiFactorize (pthRoot, alpha, false); 409 result.removeFirst(); 410 for (CFFListIterator i= result; i.hasItem(); i++) 411 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 412 i.getItem().exp()*ipower (p,l)); 413 result= Union (result, contentXFactors); 414 result= Union (result, contentYFactors); 415 normalize (result); 416 result.insert (CFFactor (LcF, 1)); 417 return result; 418 } 419 else 420 { 421 buf= biFactorize (sqrfP, info); 422 A= F/LcF; 423 result= multiplicity (A, buf); 424 for (CFFListIterator i= result; i.hasItem(); i++) 425 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 426 i.getItem().exp()); 427 } 428 if (degree (A) > 0) 429 { 430 resultRoot= FqBiFactorize (A, alpha, false); 431 resultRoot.removeFirst(); 432 for (CFFListIterator i= resultRoot; i.hasItem(); i++) 433 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 434 i.getItem().exp()); 435 result= Union (result, resultRoot); 436 } 375 376 CFFList sqrf= FqSqrf (F, alpha, false); 377 CFList bufResult; 378 sqrf.removeFirst(); 379 CFListIterator i; 380 for (CFFListIterator iter= sqrf; iter.hasItem(); iter++) 381 { 382 bufResult= biFactorize (iter.getItem().factor(), info); 383 for (i= bufResult; i.hasItem(); i++) 384 result.append (CFFactor (N (decompress (i.getItem(), M, S)), 385 iter.getItem().exp())); 386 } 387 437 388 result= Union (result, contentXFactors); 438 389 result= Union (result, contentYFactors); … … 513 464 decompress (contentXFactors, N); 514 465 decompress (contentYFactors, N); 515 CFFList result , resultRoot;466 CFFList result; 516 467 if (F.inCoeffDomain()) 517 468 { … … 524 475 vec_ZZ S; 525 476 F= compress (F, M, S); 526 CanonicalForm pthRoot, A; 527 CanonicalForm sqrfP= sqrfPart (F/LcF, pthRoot, info.getAlpha()); 528 CFList buf; 529 int p= getCharacteristic(); 530 int q= ipower (p, getGFDegree()); 531 int l; 532 if (degree (pthRoot) > 0) 533 { 534 pthRoot= maxpthRoot (pthRoot, q, l); 535 result= GFBiFactorize (pthRoot, false); 536 result.removeFirst(); 537 for (CFFListIterator i= result; i.hasItem(); i++) 538 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 539 i.getItem().exp()*ipower (p,l)); 540 result= Union (result, contentXFactors); 541 result= Union (result, contentYFactors); 542 normalize (result); 543 result.insert (CFFactor (LcF, 1)); 544 return result; 545 } 546 else 547 { 548 buf= biFactorize (sqrfP, info); 549 A= F/LcF; 550 result= multiplicity (A, buf); 551 for (CFFListIterator i= result; i.hasItem(); i++) 552 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 553 i.getItem().exp()); 554 } 555 if (degree (A) > 0) 556 { 557 resultRoot= GFBiFactorize (A, false); 558 resultRoot.removeFirst(); 559 for (CFFListIterator i= resultRoot; i.hasItem(); i++) 560 i.getItem()= CFFactor (N (decompress (i.getItem().factor(), M, S)), 561 i.getItem().exp()); 562 result= Union (result, resultRoot); 563 } 477 478 CFFList sqrf= GFSqrf (F, false); 479 CFList bufResult; 480 sqrf.removeFirst(); 481 CFListIterator i; 482 for (CFFListIterator iter= sqrf; iter.hasItem(); iter++) 483 { 484 bufResult= biFactorize (iter.getItem().factor(), info); 485 for (i= bufResult; i.hasItem(); i++) 486 result.append (CFFactor (N (decompress (i.getItem(), M, S)), 487 iter.getItem().exp())); 488 } 489 564 490 result= Union (result, contentXFactors); 565 491 result= Union (result, contentYFactors);
Note: See TracChangeset
for help on using the changeset viewer.