国产精品久久久久久2021,日韩精品无码av中文无码版,亚洲精品久久久午夜麻豆,无码成人精品日本动漫纯h

010-68421378
當(dāng)前您所在的位置:首頁>新聞中心>行業(yè)動態(tài)

Wolfram:計算代數(shù)積分的新方法

發(fā)布時間:2021/12/20 瀏覽量:4675
2004 年,我開始沉迷于計算積分,使用微積分學(xué)生已知的基本技術(shù)和 Davenport、Trager 和 Bronstein的Risch 算法及其擴(kuò)展 [1, 2, 3, 4, 5]。從George Beck的分步微分程序WalkD 中獲得靈感,我決定編寫一個計算不定積分的分步程序。

 

2004 年,我開始沉迷于計算積分,使用微積分學(xué)生已知的基本技術(shù)和 Davenport、Trager 和 Bronstein的Risch 算法及其擴(kuò)展 [1, 2, 3, 4, 5]。從George Beck的分步微分程序WalkD 中獲得靈感,我決定編寫一個計算不定積分的分步程序。

 

例如,很容易在Mathematica 中編寫一組簡單的替換規(guī)則來對(擴(kuò)展的)多項式進(jìn)行積分:

 

 

 

 

 

使用這些規(guī)則,我們現(xiàn)在可以對多項式進(jìn)行積分,例如

 

 

 

 

 

 

 

 

 

在花費太多深夜將集成技術(shù)作為模式匹配規(guī)則輸入 Mathematica 之后,我使代碼處于合理狀態(tài),并將其發(fā)送給Wolfram Research,以便可能將其包含在 Mathematica 中。不久之后,我 在Wolfram得到了一份工作,在那工作了幾年,主要致力于Wolfram|Alpha。我的逐步積分器仍在計算許多積分,其中一些我自己很可能已經(jīng)忘記了如何做。

 

順便說一句,使用基于規(guī)則的編程來計算不定積分的想法可以追溯到 1961 年,當(dāng)時麻省理工學(xué)院的 James Slagle使用符號自動積分器(SAINT)。SAINT 可以解決“大約相當(dāng)于優(yōu)秀大學(xué)新生水平的符號整合問題,事實上,它使用了許多與新生相同的方法(包括啟發(fā)式)”[6]。我編寫的逐步積分器使用了大約 350 條規(guī)則,可以對微積分教科書中 99% 以上的積分進(jìn)行積分。從那時起,Albert Rich 使用 Mathematica 創(chuàng)建了基于規(guī)則的積分器(Rubi),它使用了超過 6,700 條規(guī)則。

 

快進(jìn)到 2020 年,我已經(jīng)有十年沒有研究過積分了。我決定看看過去 10 年左右取得了哪些進(jìn)展。我對Manuel Kauers 開發(fā)的基于Gröbner 基的算法及由 Brian Miller 開發(fā)的擴(kuò)展特別感興趣,該算法在 AXIOM 計算機(jī)代數(shù)系統(tǒng)中的許多積分 [7, 8] 中似乎可以勝過 Risch 算法的代數(shù)情況。例如:

 

 

 

檢查結(jié)果很簡單:

 

 

 

再一次,我很快就迷上了積分,或者更具體地說,是不定積分的算法解決方案。

 

當(dāng)我最后一次查看符號積分時,我對 Risch 算法的先驗情況感興趣,其中 Mathematica 有一個近乎完整的實現(xiàn)。例如,下面是 Risch 算法先驗情況的簡單積分:

 

 

 

我對代數(shù)積分更感興趣,它不能與先驗 Risch 算法集成。Risch 算法的代數(shù)情況比先驗情況復(fù)雜得多,并且尚未在任何計算機(jī)代數(shù)系統(tǒng)中完全實現(xiàn)。

我最初考慮了許多微積分教科書中出現(xiàn)的代數(shù)積分:

 

 

 

如果我們很樂意通過分支切割快速而寬松地完成,那么我們可以將這個積分寫為:

 

 

對于這個積分,我們可以替換,我們得到:

 

 

代入,我們得到:

 

 

 

這個答案有分支問題;但是,我們可以通過將寫為來解決此問題。那么我們就有了正確的反導(dǎo)數(shù):

 

 

 

我想知道這種使用Laurent 多項式替換來簡化代數(shù)積分的方法是否只是適用于該積分的技巧,還是對更通用方法的提示。事實證明,這個技巧適用于許多積分;例如,我們之前在 Kauers 算法中嘗試的積分

 

 

 

可以減少到

 

 

替換為u = x 4 + x –4。一旦糾正了分支切割問題,解決方案如下:

 

 

 

一般方法會尋求形式u =的替代, 例如

 

 

 

其中R1(u), R2(u)是u的有理函數(shù),是待定系數(shù)。  

 

我們首先使用SolveAlways來計算u替換中的待定系數(shù): 

 

 

 

所以我們有一個適合被積函數(shù)的基數(shù)部分的候選替換。這個替換是否適合被積函數(shù)的其余部分?我們可以這樣計算:

 

我們對之前手動做的積分做了同樣的簡化,即

 

 

 

其中 u = .

這個方法是在Wolfram函數(shù)庫中用IntegrateAlgebraic實現(xiàn)的。 (在2020年,我進(jìn)一步研究了用初等函數(shù)[9]計算偽橢圓積分。) 由于這種方法簡單,它適用的積分范圍很廣。  

 

下面是一些例子:   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

與 Risch 算法的代數(shù)情況不同,該技術(shù)可以快速求解許多涉及參數(shù)的積分:

 

 

 

 

 

 

 

 

 

 

 

下面的積分呢?

 

 

 

與前面的例子不同,這個積分不能用 Laurent 多項式替換來求解。

 

1882 年,Günther 開發(fā)了一種計算一些困難的代數(shù)積分的方法 [10]。比如積分

 

 

 

p(x)和q(x)是x的多項式,Günther做了替換  

 

 

 

使得積分變?yōu)?/span>

 

 

 

其中 s(x) = vQ–P+R–1 xQ–P+R–1 + vQ–P+R–2 xQ–P+R–2 + … + v1 x + v0, 其中P = degx(p(x)), Q = degx(q(x)), R = degx(r(x)) and v0, v1, …, vQ–P+R–1, c0, c1,c2, c3 是待定系數(shù), R(un是系數(shù)未定u n 中的有理函數(shù)。

 

我們可以使用 Günther 的方法來解決 Mathematica 中的這個積分,如下所示。替換的形式為:

 

 

 

我們假設(shè)u 中的被積函數(shù)具有以下形式:

 

 

 

那么x 中的被積函數(shù)由下式給出:

 

 

 

現(xiàn)在我們需要求解代入 ( v 0 , v 1 , v 2 ) 和有理被積函數(shù) ( w 0 , w 1 ) 中的未定系數(shù):

 

 

我們可以把這個解代入u中的被積函數(shù),然后替換  

 

 

 

現(xiàn)在我們可以使用integral來計算得到的積分:  

 

 

 

然后代回求解我們原來的積分:

 

 

 

快速檢查我們的解答是正確的:

 

 

Günther方法的一個推廣版本在IntegrateAlgebraic中實現(xiàn)。 這種方法可以解決許多比較困難的積分。 下面是一些例子:

 

 

 

 

 

 

 

 

 

 

 

 

 

此方法還處理包含參數(shù)的積分:

 

 

 

 

 

如果我們在將被積函數(shù)擴(kuò)展為項的總和后將這種方法與逐項積分相結(jié)合,我們可以處理更多奇特的代數(shù)積分:

 

將 Laurent 多項式替換方法與廣義 Günther 方法相結(jié)合并逐項積分,我們可以計算更復(fù)雜的積分:

 

 

 

在這種情況下,我們將積分寫為:

 

 

 

然后積分減少到代入u = 1 – x 3,而積分減少到代入s = 。

積分包含嵌套基元的表達(dá)式一直是一件棘手的事情。 一個眾所周知的例子是

 

 

 

 

可以使用替換來計算。我們可以用GroebnerBasis進(jìn)行這種替換,如下所示:

 

 

 

我們需要用Dt [y]來表達(dá)這種關(guān)系:

 

 

 

我們現(xiàn)在可以整合u的有理函數(shù)并代回x:

 

 

這種方法可以解決更困難的涉及嵌套根的積分。例如:

 

 

 

 

 

在IntegrateAlgebraic 中使用了這種方法的概括。以下是一些具有挑戰(zhàn)性的示例:

 

 

 

 

 

 

與IntegrateAlgebraic 中的其他方法一樣,我們準(zhǔn)備好處理涉及參數(shù)的積分:

 

 

 

本帖中所有的積分都包含多項式根; 然而,這些方法推廣到有理根。 例如: 

 

 

 

 

 

仍然有許多代數(shù)積分是這些方法不能計算的。 例如,下面的積分有一個初等解(盡管解很大):  

 

 

 

然而,與在任何計算機(jī)代數(shù)系統(tǒng)中都沒有完全實現(xiàn)的 Risch-Trager-Bronstein 算法的代數(shù)情況相比,這些方法快速、簡單并且補(bǔ)充了 Mathematica 的Integrate函數(shù)的現(xiàn)有積分功能。我們目前正在考慮在即將發(fā)布的版本Integrate中包含IntegrateAlgebraic。  

下一篇:Bluebeam:測量標(biāo)記的最佳實踐
上一篇:SQL Server 的 JSON

                               

 京ICP備09015132號-996 | 違法和不良信息舉報電話:4006561155

                                   © Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室

                         北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動畫

                            華滋生物