我正在求解一個大的非線性方程組,我需要高度的數值精度。我目前使用sympy.lambdify
將等式系統的符號表達式及其雅可比轉換爲矢量化函數,這些函數將ndarrays作爲輸入並返回一個ndarray作爲輸出。lambdify可以用dytpe np.float128返回一個數組嗎?
默認情況下,lambdify返回一個dtype爲numpy.float64
的數組。是否有可能返回一個dtype爲numpy.float128
的數組?也許這需要輸入的dtype爲numpy.float128
?
事實上,輸出dtype應該或多或少地跟隨輸入。實際上,lambdify沒有指定任何dtype。它只是將sympy表達式轉換爲python表達式。如果將它應用於numpy數組,通常會應用numpy投射規則。 – burnpanck 2014-10-08 13:53:24
如果您需要使用**任意精度**和**快速**計算引擎(兩者都受限於您的硬件),請嘗試**'fractions.Fraction **或**'decimal.Decimal '而不是稍長一些,但仍然主要是精確數字的精確浮點表示。爲了定量比較這些對象類的'numpy'處理性能,請閱讀>>> http://stackoverflow.com/a/26248202/3666197 – user3666197 2014-10-09 01:25:32