Révision 181 pobysoPythonSage/src/sageSLZ/sageSLZ.sage

sageSLZ.sage (revision 181)
426 426
                                                    absoluteErrorTypeSo)
427 427
    maxErrorSa = pobyso_get_constant_as_rn_with_rf_so_sa(maxErrorSo)
428 428
    while maxErrorSa > approxPrecSa:
429
        print "++Approximation error:", maxErrorSa
429
        print "++Approximation error:", maxErrorSa.n()
430 430
        sollya_lib_clear_obj(polySo)
431 431
        sollya_lib_clear_obj(intervalCenterSo)
432 432
        sollya_lib_clear_obj(maxErrorSo)
433
        # Very empirical schrinking factor.
433
        # Very empirical shrinking factor.
434 434
        shrinkFactorSa = 1 /  (maxErrorSa/approxPrecSa).log2().abs()
435
        print "Shrink factor:", shrinkFactorSa, intervalShrinkConstFactorSa
435
        print "Shrink factor:", \
436
              shrinkFactorSa.n(), \
437
              intervalShrinkConstFactorSa
436 438
        #errorRatioSa = approxPrecSa/maxErrorSa
437 439
        #print "Error ratio: ", errorRatioSa
440
        # Make sure interval shrinks.
438 441
        if shrinkFactorSa > intervalShrinkConstFactorSa:
439 442
            actualShrinkFactorSa = intervalShrinkConstFactorSa
440 443
            #print "Fixed"
......
444 447
            #print shrinkFactorSa, maxErrorSa
445 448
        #print "Shrink factor", actualShrinkFactorSa
446 449
        currentUpperBoundSa = currentLowerBoundSa + \
447
                                  (currentUpperBoundSa - currentLowerBoundSa) * \
448
                                   actualShrinkFactorSa
450
                                (currentUpperBoundSa - currentLowerBoundSa) * \
451
                                actualShrinkFactorSa
449 452
        #print "Current upper bound:", currentUpperBoundSa
450 453
        sollya_lib_clear_obj(currentRangeSo)
454
        # Check what is left with the bounds.
451 455
        if currentUpperBoundSa <= currentLowerBoundSa or \
452 456
              currentUpperBoundSa == currentLowerBoundSa.nextabove():
453 457
            sollya_lib_clear_obj(absoluteErrorTypeSo)
......
1349 1353
    is not 0.
1350 1354
    Return () otherwise.
1351 1355
    """
1352
    polynomialRing0 = poly1.parent()
1356
    polynomialRing0    = poly1.parent()
1353 1357
    resultantInElimVar = poly1.resultant(poly2,polynomialRing0(elimVar))
1354 1358
    if resultantInElimVar.is_zero():
1355 1359
        return ()

Formats disponibles : Unified diff