Révision 58

pobysoPythonSage/src/pobyso.py (revision 58)
771 771
    return(sollya_lib_supnorm(polySo, funcSo, intervalSo, errorTypeSo, \
772 772
                              accuracySo))
773 773

  
774
def pobyso_taylor_expansion_with_change_var_so_so(functionSo, degreeSo, rangeSo, \
775
                                                errorTypeSo, \
776
                                                sollyaPrecSo=None):
777
    """
778
    Compute the Taylor expansion with the variable change
779
    x -> (x-intervalCenter) included.
780
    """
781
    # No global change of the working precision.
782
    if not sollyaPrecSo is None:
783
        initialPrecSo = sollya_lib_get_prec(None)
784
        sollya_lib_set_prec(sollyaPrecSo)
785
    #
786
    intervalCenterSo = sollya_lib_mid(rangeSo)
787
    taylorFormSo = sollya_lib_taylorform(functionSo, degreeSo, \
788
                                         intervalCenterSo, \
789
                                         rangeSo, errorTypeSo, None)
790
    (taylorFormListSo, numElements, isEndElliptic) = \
791
        pobyso_get_list_elements_so_so(taylorFormSo)
792
    polySo = taylorFormListSo[0]
793
    errorRangeSo = taylorFormListSo[2]
794
    maxErrorSo = sollya_lib_sup(errorRangeSo)
795
    changeVarExpSo = sollya_lib_build_function_sub(\
796
                       sollya_lib_build_function_free_variable(),\
797
                       sollya_lib_copy_obj(intervalCenterSo))
798
    polyVarChangedSo = sollya_lib_evaluate(polySo, changeVarExpSo) 
799
    # If changed, reset the Sollya working precision.
800
    if not sollyaPrecSo is None:
801
        sollya_lib_set_prec(initialPrecSo)
802
        sollya_lib_clear_obj(initailPrecSo)
803
    return([polyVarChangedSo, intervalCenterSo, maxErrorSo])
804
# end pobyso_taylor_expansion_with_change_var_so_so
805

  
774 806
def pobyso_taylor_expansion_no_change_var_so_so(functionSo, degreeSo, rangeSo, \
775 807
                                                errorTypeSo, \
776 808
                                                sollyaPrecSo=None):
809
    """
810
    Compute the Taylor expansion without the variable change
811
    x -> x-intervalCenter.
812
    """
777 813
    # No global change of the working precision.
778 814
    if not sollyaPrecSo is None:
779 815
        initialPrecSo = sollya_lib_get_prec(None)

Formats disponibles : Unified diff