亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SymPy 的“擴展”功能的精度是多少?

SymPy 的“擴展”功能的精度是多少?

慕斯709654 2022-11-29 15:52:09
我正在嘗試擴展(X + Y + Z) ^ NN 足夠大的形式的函數,以便擴展的產品將包含系數遠大于 2 ^ 64 的項;為了便于討論,我們只說 N 大于 200。這是一個問題,因為我希望對該函數的擴展形式進行分析,并且該分析需要所有項及其系數的精確精度.為了擴展功能,我正在使用 Python 模塊SymPy,到目前為止,它看起來非常有前途,并且能夠在相對較短的時間內擴展 N > 150 的功能。不過,我擔心的是,在查看了一些擴展函數后,我發現系數的尾隨零比我預期的要多。我知道我可以在函數擴展后通過mpmath運行所有內容以進行分析,但截至目前,我不確定一些較大的系數是否一開始就完全正確。在SymPy函數的文檔expand中,沒有說明在處理非常大的數字時展開系數的精確度。我知道SymPy使用該mpmath模塊實現其某些功能的事實,所以我知道它具有任意精度,我只是不知道任意精度是否明確適用于這種情況。我知道我還可以expand通過對給定函數的所有系數求和并檢查該總和是否等于 N 來確認該函數是否任意精確,但我寧愿不花幾個小時來編碼所有必要的部分來進行評估,只是發現它expand是不精確的。如果有人對更簡單的方法來確認 的精度有任何建議expand,那么如果不能直接確認其精度,我將不勝感激。
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

雖然PR 18960尚未合并,但您可以確認其中的系數是正確的:

>>> multinomial(15,16,14)

50151543548788717200

>>> ((x+y+z)**(15+16+14)).expand().coeff(x**15*y**16*z**14)

50151543548788717200

>>> _ > 2**64

True

由于 Python 支持無限整數并且系數是整數,我不知道它們不準確的任何原因。


查看完整回答
反對 回復 2022-11-29
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號