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