Révision 58 pobysoPythonSage/src/pobyso.py
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