顯著加快多項式運算速度
幾乎任何代數(shù)計算最終都會以某種方式涉及多項式。多項式從一開始就是Mathematica 和Wolfram語言中優(yōu)化的部分。事實上,在超過四分之一個世紀的時間里,我們對它們進行的基本操作幾乎不需要更新。但是現(xiàn)在在版本13.2中——由于新的算法和新的數(shù)據(jù)結(jié)構(gòu),以及使用現(xiàn)代計算機硬件的新方法——我們正在更新一些核心多項式運算,并使它們大大加快。順便說一下,我們也得到了一些新的多項式函數(shù)。
這是兩個多項式的乘積,展開:
像這樣的分解多項式幾乎是即時的,并且從版本1 開始就一直如此:
但是現(xiàn)在讓我們把它做得更大:
展開多項式中有999 項:
分解這不是一個簡單的計算,在版本13.1 中大約需要19 秒:
但是現(xiàn)在,在版本13.2 中,同樣的計算需要0.3 秒,快了近60 倍:
很少有任何東西能提高60倍。但這是其中一種情況,事實上,對于更大的多項式,該比率將進一步穩(wěn)步增加。但這僅僅是只與晦澀的大多項式有關(guān)的東西嗎?嗯,沒有。尤其是因為事實證明,大多項式出現(xiàn)在各種重要地方的“引擎蓋下”。例如,看似無害的物體
可以作為代數(shù)數(shù)進行操作,但多項式最?。?/p>
除了分解之外,版本13.2還顯著提高了多項式結(jié)果、GCD、判別式等的效率。所有這些都使得對多項式線性代數(shù)的變革性更新成為可能,即對元素為(單變量)多項式的矩陣的操作。
下面是一個多項式矩陣:
這是矩陣的力量:
而這個的決定因素:
在13.1 版中,這看起來并不那么好;結(jié)果未展開,如下所示:
在版本13.2 中,大小和速度都得到了顯著改進。這是一個更大的案例- 在 13.1中計算需要一個多小時,結(jié)果的葉子數(shù)量驚人地達到178 億
多項式線性代數(shù)在“幕后”用于許多領(lǐng)域,特別是在處理線性微分方程、差分方程及其符號解時。在13.2版本中,不僅多項式MatrixPower和Det,而且LinearSolve,Inverse,RowReduce,MatrixRank和NullSpace都得到了顯著的加速。
除了顯著的速度改進之外,版本13.2 還增加了一個多項式功能,我碰巧已經(jīng)等待了30 多年:有限域上的多元多項式分解:
事實上,查看我們的檔案,我發(fā)現(xiàn)許多請求至少可以追溯到1990 年——來自相當多的人——要求這種能力,盡管1991 年的內(nèi)部說明很有魅力地指出:
是的,沒錯。但是31 年后,在13.2 版中,它完成了!
審核編輯 :李倩
-
Wolfram
+關(guān)注
關(guān)注
0文章
16瀏覽量
7706 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4265瀏覽量
62262 -
數(shù)據(jù)結(jié)構(gòu)
+關(guān)注
關(guān)注
3文章
569瀏覽量
40067
原文標題:Wolfram語言與Mathematica 13.2 版本(4)
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論