楊樂,柳銀萍,李志斌
(華東師范大學(xué)計(jì)算機(jī)科學(xué)技術(shù)系,上海200062)
Emathema:在線的方程自動(dòng)求解平臺(tái)
楊樂,柳銀萍,李志斌
(華東師范大學(xué)計(jì)算機(jī)科學(xué)技術(shù)系,上海200062)
微分方程在現(xiàn)代科技、工程領(lǐng)域中的作用日益顯著,本課題組多年來在微分方程可積性和解析求解方面做了很多機(jī)械化工作,研發(fā)出了一系列Maple應(yīng)用軟件.基于這些應(yīng)用軟件、計(jì)算機(jī)代數(shù)系統(tǒng)Maple及一些開源技術(shù),課題組研發(fā)了一個(gè)在線的開放的方程自動(dòng)求解平臺(tái)Emathema,為用戶提供便捷的代數(shù)計(jì)算和繪圖服務(wù).在此平臺(tái)上,用戶不僅可調(diào)用已嵌入的Maple外部應(yīng)用軟件求解非線性代數(shù)和微分方程(組),而且在交互方式下可進(jìn)行幾乎所有和方程相關(guān)的簡(jiǎn)單符號(hào)計(jì)算,所有的計(jì)算結(jié)果均以可視化的方式輸出.
符號(hào)計(jì)算;在線計(jì)算平臺(tái);Maple應(yīng)用軟件;微分方程
眾所周知,在科學(xué)研究和工程技術(shù)領(lǐng)域,比如∶數(shù)學(xué)、物理、生物學(xué)、生態(tài)學(xué)、金融學(xué)、氣象學(xué)、航空航天、社會(huì)學(xué)以及其他領(lǐng)域,不少研究人員與工程技術(shù)人員在工作中需要去求解特定類型的方程,尤其是數(shù)學(xué)物理方程.隨著計(jì)算機(jī)技術(shù)及計(jì)算機(jī)代數(shù)系統(tǒng)的不斷發(fā)展,人們的計(jì)算能力大大提升了,微分方程的應(yīng)用領(lǐng)域也因此得到了極大的拓展.目前,微分方程已成為現(xiàn)代數(shù)學(xué)中應(yīng)用領(lǐng)域最廣,研究最為活躍的數(shù)學(xué)分支之一.很多學(xué)者借助計(jì)算機(jī)代數(shù)系統(tǒng)(CASs)作為代數(shù)推導(dǎo)和證明的重要工具,新的研究成果不斷涌現(xiàn).特別地,一些構(gòu)造非線性微分方程解析解的直接代數(shù)方法相繼誕生,如∶混合指數(shù)法、雙曲正切法及其變形和推廣、橢圓函數(shù)法及其變形和推廣等等.我們團(tuán)隊(duì)基于Maple幾乎實(shí)現(xiàn)了上述所有的方法,其中的應(yīng)用軟件可自動(dòng)推導(dǎo)出非線性微分方程特定類型的解析解.雖然有部分同行索要并使用這些應(yīng)用軟件,但相對(duì)于對(duì)這些軟件有需求的用戶群體而言,這些軟件的的利用率很低.
互聯(lián)網(wǎng)的高速發(fā)展使得在線數(shù)學(xué)計(jì)算和在線教育越來越流行.近年來,開發(fā)在線的計(jì)算軟件已經(jīng)成為了公認(rèn)的研究熱點(diǎn).不少科研機(jī)構(gòu)或公司已研發(fā)出他們的在線計(jì)算軟件或教育軟件,其中,在線科學(xué)計(jì)算軟件包括以IAMC[1],WebMathematica[2],IPython[3], Distributed Mathematica[4]為代表的分布式符號(hào)計(jì)算系統(tǒng),以Grid-Elimino[5]為代表的網(wǎng)格計(jì)算軟件,以AsirPad[6]為代表的面向移動(dòng)設(shè)備的在線計(jì)算系統(tǒng)以及知識(shí)型計(jì)算引擎Wolfram Alpha[7],而在線的數(shù)學(xué)教育軟件包括ActiveMath[8],Maple T.A.[9],DMAS[10]等等.本課題組成員曾基于Maxima研發(fā)了在線的可視化計(jì)算系統(tǒng)iMathema[11].目前,我們對(duì)該系統(tǒng)還在不斷拓展和完善中.
隨著人們科學(xué)計(jì)算能力的不斷提升,微分方程的應(yīng)用范圍也越來越廣泛,目前,從自然科學(xué)到社會(huì)科學(xué)幾乎所有的學(xué)科領(lǐng)域都越來越熱衷于采用微分方程方法求解問題.國(guó)際上已誕生了幾個(gè)專門的微分方程網(wǎng)站[12-13],國(guó)際、國(guó)內(nèi)的超算中心也建立了專門的微分方程研究中心[14-15].本文為了服務(wù)各行各業(yè)的科研和工程技術(shù)人員,在我們前期工作的基礎(chǔ)上,基于Command-line Maple和一些Maple應(yīng)用軟件等研發(fā)了一個(gè)在線的方程自動(dòng)求解平臺(tái)Emathema.在該平臺(tái)中,用戶除了可使用已嵌入的Maple應(yīng)用軟件求解非線性微分系統(tǒng),還可在交互方式下進(jìn)行與方程有關(guān)的幾乎所有的簡(jiǎn)單計(jì)算和繪圖.另外,也可運(yùn)行Maple中的基本命令.和國(guó)內(nèi)外已有的在線計(jì)算軟件相比,該計(jì)算平臺(tái)更具專業(yè)性,是目前獨(dú)具特色的方程自動(dòng)求解平臺(tái).另外,該平臺(tái)的使用界面友好,用戶只需通過Web瀏覽器即可訪問和使用該平臺(tái)求解問題,不需要在客戶端安裝任何符號(hào)計(jì)算系統(tǒng).除此之外,該平臺(tái)還支持將在線的演算過程和程序運(yùn)行結(jié)果導(dǎo)出到Maple的Worksheet文檔中,供用戶下載后續(xù)使用.我們的長(zhǎng)遠(yuǎn)目標(biāo)是研發(fā)一個(gè)在線的功能龐大的符號(hào)計(jì)算系統(tǒng).
1.1 Emathema的原理
Emathema是一個(gè)在線的B/S計(jì)算平臺(tái),其原理見圖1所示.
如圖1,Emathema進(jìn)行科學(xué)計(jì)算的過程可概括如下∶Emathema計(jì)算平臺(tái)的服務(wù)器端安裝有Maple計(jì)算軟件及處理底層符號(hào)計(jì)算軟件的輸入和輸出的PHP[16]腳本,同時(shí)還配置有合適的網(wǎng)絡(luò)環(huán)境.當(dāng)用戶通過瀏覽器向Emathema提交計(jì)算請(qǐng)求后,Emathema會(huì)自動(dòng)地選擇相應(yīng)的PHP腳本,該腳本通過命令行接口將相應(yīng)的命令傳遞給Command-line Maple,然后Emathema利用其轉(zhuǎn)換模塊將得到的Maple格式的字符串輸出結(jié)果進(jìn)行相應(yīng)的轉(zhuǎn)換,進(jìn)而Emathema的可視化輸出模塊將轉(zhuǎn)換后的結(jié)果進(jìn)行在線的可視化輸出.
圖1 Emathema進(jìn)行科學(xué)計(jì)算的原理Fig.1 How scientific computations are executed in Emathema
Emathema計(jì)算平臺(tái)具有如下特色∶第一,擴(kuò)展性較強(qiáng),底層可嵌入主流的符號(hào)計(jì)算軟件,如∶Maple、Mathematica、Maxima等;第二,具有優(yōu)越的在線可視化特性,即所有計(jì)算結(jié)果均以可視化形式輸出;第三,具有良好的跨操作系統(tǒng)平臺(tái)、跨設(shè)備、跨瀏覽器特性.目前,用戶可通過幾乎所有的主流瀏覽器,如Chrome,Firefox,IE,Safari,Opera等來訪問和使用該平臺(tái);第四,在線系統(tǒng),可隨時(shí)隨地使用.
1.2 技術(shù)路線
研發(fā)一個(gè)交互式的在線計(jì)算軟件,首先需考慮其輸入命令和輸出計(jì)算結(jié)果的方式.通過查閱大量文獻(xiàn)我們得知∶在線的計(jì)算軟件中普遍采用如下幾種輸入方式∶①以線性字符串的方式進(jìn)行輸入,輸入快捷.大部分主流的符號(hào)計(jì)算軟件,如∶Command-line Maple、Mathematica Kernal、Maxima等底層的輸入采用了此方式;②以交互式方式進(jìn)行WYSIWYG(所見即所得)方式的輸入,一般采用XML和樣式表進(jìn)行公式外觀的控制.工作表模式下的Maple Worksheet、Mathematica Notebook、WxMaxima(Maxima的圖形化界面)均使用了各自的樣式表進(jìn)行公式外觀的控制,且三者的樣式表有很多細(xì)節(jié)上的差異,進(jìn)行計(jì)算時(shí)會(huì)將該二維公式轉(zhuǎn)換為字符串后再進(jìn)行處理;③其他輸入方式,包括語音輸入與語音識(shí)別相結(jié)合的方式和手寫輸入與手寫識(shí)別相結(jié)合的方式等.通過語音輸入雖比較方便,但由于數(shù)學(xué)公式?jīng)]有規(guī)范的讀法,且方言很難避免,極易引起歧義,故相應(yīng)的語音識(shí)別和后期處理難度很大;手寫輸入雖然便利,但當(dāng)輸入的二維數(shù)學(xué)表達(dá)式難辨識(shí)或結(jié)構(gòu)較復(fù)雜時(shí),手寫識(shí)別的準(zhǔn)確度明顯下降.總體而言,方式①更接近底層符號(hào)計(jì)算軟件的內(nèi)核,也更方便于進(jìn)行其他后期操作,故Emathema選取了方式①.
在線的計(jì)算軟件中普遍采用如下幾種輸出方式∶①線性字符串的形式,傳輸速度快,但不直觀.大部分符號(hào)計(jì)算軟件,如∶Command-line Maple、Mathematica Kernal、Maxima等底層的輸出采用了此方式;②圖片的形式,直觀,但耗費(fèi)帶寬,傳輸速度較慢.在MathML標(biāo)準(zhǔn)[17]被廣泛接受之前,此方式占主導(dǎo)地位;③字符堆砌的形式,無法較美觀地顯示結(jié)果復(fù)雜的公式.流行的符號(hào)計(jì)算軟件Command-line Maple、Mathematica Kernal、Maxima在命令行中的二維輸出(2D ASCII)采用了此方式,該方式下上標(biāo)、下標(biāo)、冪次等還算美觀,但積分符號(hào)、極限以及其他結(jié)構(gòu)更復(fù)雜的公式并不美觀;④傳輸字符串文本,顯示二維公式.采用這種輸出方式,既能快速傳輸,也能直觀顯示二維數(shù)學(xué)表達(dá)式.目前有ASCIIMathML[18]、MathJax[19]這兩種流行技術(shù)采用了此方式,并兼容所有主流瀏覽器.因而,Emathema采用了方式④,同時(shí)應(yīng)用了ASCIIMathML和MathJax,其中ASCIIMathML用于可視化顯示中綴字符串,而MathJax用于可視化顯示LaTeX格式的字符串.
除了對(duì)輸入、輸出方式進(jìn)行選擇以外,在已有符號(hào)計(jì)算軟件的基礎(chǔ)上研發(fā)一個(gè)交互式的在線符號(hào)計(jì)算軟件還需對(duì)符號(hào)計(jì)算軟件的接口進(jìn)行研究.我們一開始就重視跨操作系統(tǒng)的接口技術(shù).對(duì)Maple而言,基于Maple底層內(nèi)核,主要有兩種方式能與Command-line Maple進(jìn)行交互∶①Java+OpenMaple接口Java版,此接口下會(huì)創(chuàng)建一個(gè)Maple session會(huì)話,然后Maple engine對(duì)象即可執(zhí)行部分Maple的基本命令;②PHP+Command-line Maple,此接口更接近于Maple底層,可以完成絕大部分Maple運(yùn)算.我們對(duì)以上兩種方式均進(jìn)行了嘗試,先使用OpenMaple接口Java版以及Struts 2框架搭建了一個(gè)通用的計(jì)算系統(tǒng),此時(shí)發(fā)現(xiàn)對(duì)于繪圖,OpenMaple接口的功能比較弱,這部分工作有待后續(xù)繼續(xù)研究.接口②的可擴(kuò)展性較強(qiáng),該接口下Maple外部應(yīng)用軟件的Web接口較易實(shí)現(xiàn).此外,Emathema實(shí)現(xiàn)接口②的方法不僅支持Maple,同時(shí)也支持Mathematica、Maxima.綜合考慮之后,Emathema選了接口②.
Emathema是一個(gè)即時(shí)響應(yīng)的實(shí)時(shí)交互式計(jì)算平臺(tái),采用了AJAX[20]異步通信方式, AJAX允許頁面“安靜地”向服務(wù)器發(fā)送請(qǐng)求,并獲得計(jì)算結(jié)果,在原網(wǎng)頁中輸出,克服了同步通信方式響應(yīng)后返回全新頁面、通信時(shí)間過長(zhǎng)、不能局部提交數(shù)據(jù)等不足.但由于原生AJAX較復(fù)雜,我們?yōu)榇艘肓艘粋€(gè)輕量級(jí)的JavaScript庫jQuery[21].jQuery兼容多種主流瀏覽器,且可簡(jiǎn)化AJAX應(yīng)用的開發(fā)過程.jQuery保障了Emathema在不同的瀏覽器中均能正常使用.
目前,Emathema的底層主要使用了Command-line Maple,基于Maple及Maple外部應(yīng)用軟件,Emathema除了能使用已嵌入的Maple應(yīng)用軟件[22-25]求解代數(shù)及微分方程組外,還能提供簡(jiǎn)單代數(shù)計(jì)算和繪圖服務(wù).對(duì)于每一個(gè)合法的輸入,相應(yīng)的計(jì)算結(jié)果均能在線地可視化輸出.用戶只需在連網(wǎng)的狀態(tài)下借助瀏覽器,并且不限于設(shè)備和操作系統(tǒng)平臺(tái)就能使用Emathema的所有功能.本著“簡(jiǎn)單、易用”的原則,Emathema不僅設(shè)置了一個(gè)集成界面(在線的命令行界面),還為其中的部分應(yīng)用軟件提供了獨(dú)立的圖形化用戶界面(GUI).限于篇幅,本文以下部分只介紹集成界面(見圖2).
圖2 Emathema的集成界面Fig.2 The integrated user interface of Emathema
集成界面主要由①下拉菜單,②命令輸入?yún)^(qū)域,③可視化結(jié)果輸出區(qū)域以及多個(gè)按鈕(Computing,Plotting,Error Checking,Clear,Export Input as Worksheet,Export Outputas Worksheet)等組成,這些按鈕的功能見表1所述.
表1 各個(gè)按鈕的功能Tab.1 Functions of each button
在集成界面下,Emathema的功能主要由下拉菜單來控制,該下拉菜單設(shè)置了any,none和一些已被嵌入的應(yīng)用軟件名稱等多個(gè)選項(xiàng).
?當(dāng)用戶在下拉菜單中選擇“none”時(shí),用戶可以使用Maple內(nèi)置的常見代數(shù)命令和繪圖命令,比如expand、solve、pdsolve、integrate、gcd、plot、plot3d等命令,也可以使用Maple內(nèi)置的軟件包,如with(linalg).此方式下還支持批量計(jì)算,即在命令輸入?yún)^(qū)域中,當(dāng)用戶的輸入不含空行時(shí),所輸入的命令將被視為一個(gè)塊語句來執(zhí)行.用戶也可批量地輸入多個(gè)塊語句(每個(gè)塊語句由一個(gè)或多個(gè)單語句組成,塊語句內(nèi)是以分號(hào)或冒號(hào)作為分隔符,塊內(nèi)允許換行,但不允許出現(xiàn)空行),塊語句之間以一個(gè)或多個(gè)空行作為分隔符.圖3展示了一個(gè)批處理計(jì)算的例子.
圖3 批量計(jì)算的輸入、輸出Fig.3 The input and output of batch tasks
上述演算過程中輸入的內(nèi)容可通過“Export Input as Worksheet”按鈕導(dǎo)出到一個(gè)Maple的Worksheet文檔中,供用戶后續(xù)下載使用.上述演算過程導(dǎo)出的Worksheet文檔如圖4所示.
圖4 批量計(jì)算導(dǎo)出的Worksheet文檔中的內(nèi)容Fig.4 The content of Maple Worksheet file exported from the results
?當(dāng)用戶選擇下拉菜單中的“any”時(shí),系統(tǒng)會(huì)根據(jù)用戶輸入的with語句將相應(yīng)的外部應(yīng)用程序調(diào)入內(nèi)存,此時(shí),用戶可調(diào)用已被讀入內(nèi)存的任何應(yīng)用程序求解問題,如可使用我們研發(fā)的應(yīng)用軟件求解微分系統(tǒng)等.
下面以RATH軟件[22]為例來說明此選項(xiàng)下外部應(yīng)用軟件的用法,如用RATH來求解如下的Ito’s 5th-mKdV方程∶
先用with命令導(dǎo)入RATH應(yīng)用軟件,然后調(diào)用RATH的主模塊rath來求解該方程,其輸入和輸出結(jié)果見圖5所示.
圖5 集成界面中應(yīng)用軟件RATH的使用示例Fig.5 An example of using RATH under the integrated user interface
Emathema也可將程序的運(yùn)行結(jié)果導(dǎo)出到Maple的Worksheet文檔中,供用戶下載和后續(xù)使用.圖6是點(diǎn)擊圖5右下角的“Export Output as Worksheet”按鈕導(dǎo)出的Worksheet文檔.
圖6 將RATH的計(jì)算結(jié)果導(dǎo)出到Worksheet文檔示例Fig.6 A demo of Maple Worksheet file exported from results using RATH
?下拉菜單中的其他選項(xiàng)都是專門為已嵌入的外部應(yīng)用程序設(shè)置的.在這些選項(xiàng)下,用戶可調(diào)用相應(yīng)的應(yīng)用軟件求解問題,如在RATH選項(xiàng)下,用戶可調(diào)用軟件RATH求解問題.也就是說,任何一個(gè)外部應(yīng)用程序均可在兩種選項(xiàng)下使用,即any選項(xiàng)和相應(yīng)的應(yīng)用程序選項(xiàng).
另外,該平臺(tái)是開放的,這樣研發(fā)人員后續(xù)可不斷地往系統(tǒng)中嵌入其他應(yīng)用程序,如我們已將求解非線性代數(shù)方程組的一些經(jīng)典軟件,如Gr¨obner基方法程序包,王東明教授研發(fā)的Charsets包[26]及Epsilon程序庫[27].王定康研究員研發(fā)的Wsolve包[28]等嵌入Emathema中,用戶可選擇下拉菜單中的“any”或“none”選項(xiàng)來使用它們.
如,下面調(diào)用Charsets包,使用其中的csolve命令來求解一個(gè)非線性代數(shù)方程(組).其輸入和輸出見圖7所示.
圖7 Charsets包的使用示例Fig.7A demo of using Charsets package
此外,Emathema還為用戶設(shè)計(jì)了詳細(xì)的在線幫助手冊(cè).Emathema的所有功能在幫助手冊(cè)中均有詳細(xì)介紹.
該論文介紹了最新版的在線計(jì)算平臺(tái)Emathema.在此平臺(tái)上,用戶不僅能調(diào)用已嵌入的Maple外部應(yīng)用軟件求解非線性微分系統(tǒng)和非線性代數(shù)方程(組),還能在交互方式下進(jìn)行各種簡(jiǎn)單的符號(hào)計(jì)算,所有的計(jì)算結(jié)果均以可視化的方式輸出.Emathema計(jì)算平臺(tái)是我們課題組研發(fā)的“方程的在線計(jì)算和知識(shí)庫平臺(tái)”[29]的一部分,該在線平臺(tái)還包括微分方程知識(shí)庫、數(shù)學(xué)論壇和數(shù)學(xué)資源庫等,該在線平臺(tái)已在實(shí)驗(yàn)室內(nèi)網(wǎng)服務(wù)器中使用,不久將會(huì)發(fā)布在公網(wǎng)中供廣大用戶使用.該在線平臺(tái)是開放的,我們后續(xù)將繼續(xù)不斷地?cái)U(kuò)充和完善其內(nèi)容和功能.該平臺(tái)的成功研發(fā),是數(shù)學(xué)機(jī)械化思想的一次成功嘗試.該平臺(tái)為各行各業(yè)的科研人員、工程技術(shù)人員和學(xué)生分享最新科研成果,討論問題和交流合作等提供了便利.
當(dāng)前計(jì)算平臺(tái)Emathema還存在一些不足之處,后續(xù)我們將繼續(xù)完善和擴(kuò)充其功能,特別進(jìn)行以下兩方面改進(jìn)∶第一,擴(kuò)展Emathema的功能,嘗試嵌入一些Maxima及Mathematica外部應(yīng)用軟件;第二,優(yōu)化Emathema的界面,嘗試在輸入頁面增加代碼高亮、關(guān)鍵字自動(dòng)補(bǔ)全、代碼折疊展開等功能.
[1]WANG P,GRAY S,KAJLER N,et al.IAMC architecture and prototyping:A progress report[C]//Proceedings of the 2001 International Symposium on Symbolic and Algebraic Computation.ACM,2001:337-344.
[2]Wolfram Research Inc.webMathematica[EB/OL].(2002-06-18)[2016-09-15].http://www.wolfram.com/ products/webmathematica/.
[3]P′EREZ F,GRANGER B E.IPython:A system for interactive scientific computing[J].Computing in Science &Engineering,2007,9(3):21-29.
[4]PAU C,SCHREINER W.Distributed Mathematica[M/OL].(2000-07-01)[2016-09-15].http://www.risc.jku.at/ software/distmath/report/index.html.
[5]WU Y W,LIAO W D,WANG P,et al.An internet accessible grid computing system:Grid-Elimino [C]//Proceedings of IAMC.2003:1-8.
[6]FUJIMOTO M,SUZUKI M.AsirPad—a computer algebra system with a pen-based interface on PDA [C]//Proceedings of 7th Asian Symposium on Computer Mathematics(ASCM2005).Korea Institute for Advanced Study,2005:259-262.
[7]HOY M B.Wolfram|Alpha:A brief introduction[J].Medical Reference Services Quarterly,2010,29(1):67-74.
[8]MELIS E,ANDR`ES E,B¨UDENBENDER J,et al.ActiveMath:A generic and adaptive web-based learning environment[J].International Journal of Artif i cial Intelligence in Education(IJAIED),2001,12:385-407.
[9]Maplesoft Inc.Maple TA[EB/OL].(2003-04-03)[2016-09-10].http://www.maplesoft.com.cn/products/mapleta/.
[10]AL-SHOMRANI S,WANG P.DMAS:A web-based distributed mathematics assessment system[C]//Proceedings of the International Conference on Learning.2008:3-6.
[11]YANG L,SU W,WANG K J,et al.iMathema:A novel online intelligent computing system oriented to common scientific computations[C]//Proceedings of the Second International Conference on Innovative Computing and Cloud Computing.ACM,2013:10-16.
[12]POLYANIN A D.EqWorld(The World of Mathematical Equations)[EB/OL].(2004-04-12)[2016-09-01]. http://eqworld.ipmnet.ru.
[13]Equation Sheet.com[EB/OL].(2007-04-23)[2016-09-10].http://equationsheet.com/sheets/Equations-13.html.
[14]Oxford Centre for Nonlinear Partial differential Equations.OxPDE[EB/OL].(2007-05-10)[2016-09-03]. http://www.maths.ox.ac.uk/groups/oxpde.
[15]華東師范大學(xué)偏微分方程中心[EB/OL].(2010-09-05)[2016-09-01].http://www.cpde.ecnu.edu.cn/.
[16]The PHP Group.PHP:Hypertext preprocessor[EB/OL].(2001-05-13)[2016-09-01].http://php.net.
[17]W3C Recommendation.Mathematical Markup Language(MathML)version 3[EB/OL].(2010-10-20)[2016-09-01].http://www.w3.org/TR/MathML3/.
[18]GRAY J.ASCIIMathML:Now everyone can type MathML[J].MSOR Connections,2007,7(3):26-30.
[19]CERVONE D.MathJax:A platform for mathematics on the Web[J].Notices of the AMS,2012,59(2):312-316.
[20]ASLESON R,SCHUTTA N T.Foundations of Ajax[M].Berkeley:Apress Press.2005.
[21]jQuery main website.jQuery:The write less,do more,Javascript library[EB/OL].(2009-05-10)[2016-09-02]. http://jquery.com/.
[22]LI Z B,LIU Y P.RATH:A Maple package for f i nding travelling solitary wave solutions to nonlinear evolution equations[J].Computer Physics Communications,2002,148(2):256-266.
[23]LI Z B,LIU Y P.RAEEM:A Maple package for f i nding a series of exact traveling wave solutions for nonlinear evolution equation[J].Computer Physics Communications,2004,163(3):191-201.
[24]LI Z B,LIU Y P,QIAN H F.A method and its implementation for constructing B¨acklund transformations to nonlinear evolution equations[J].Computer Mathematics,2008:188-198.
[25]LIN Y Z,LI Z B,LIU Y P.Symbolic computation of analytic approximate solutions for nonlinear fractional differential equations[J].Computer Physics Communications,2013,184(1):130-141.
[26]WANG D M.An implementation of the characteristic set method in Maple[M]//Automated Practical Reasoning. Wien:Springer-Verlag,1995:187-201.
[27]WANG D M.Epsilon:A library of software tools for polynomial elimination[J].Mathematical Software,2002: 379-389.
[28]WANG D K.Wsolve:A Maple package for solving system of polynomial equations[EB/OL].(2004-05-10)[2016-09-04].http://www.mmrc.iss.ac.cn/dwang/wsolve.html.
[29]LIU Y P,YAO R X,LI Z B,et al.An online computing and knowledge platform for differential equations [C]//Proceedings of the 5th International Congress on Mathematical Software.Springer International Publishing, 2016:181-188.
(責(zé)任編輯:林磊)
Emathema:An online automated computing platform for equations
YANG Le,LIU Yin-ping,LI Zhi-bin
(Department of Computer Science and Technology,East China Normal University,Shanghai200062,China)
differential equations are playing more and more important role in modern science and technologies,engineering.On solving and integrability analysis of differential equations,our research group developed a dozen different of f-line related software based on Maple.On the basis of these Maple packages,Maple and some open-source technologies, an online automated computing platform for equations called Emathema was proposed and implemented.Emathema can provide convenient and efficient online computing and graphing services for users.On this platform,users can not only solve nonlinear algebraic and differential equations using external Maple packages,but also execute almost all simple symbolic computations related to equations in the interactive mode.For each input, Emathema outputs the computing result visually.
symbolic computation;online computing platform;Maple package; differential equation
O175;TP311.5;TH123+.1
A
10.3969/j.issn.1000-5641.2017.03.002
1000-5641(2017)03-0020-09
2016-09-28
國(guó)家自然科學(xué)基金(11435005)
楊樂,男,碩士研究生,研究方向?yàn)橛?jì)算機(jī)符號(hào)計(jì)算及其應(yīng)用. E-mail:yangle20081982@163.com.
柳銀萍,女,教授,研究方向?yàn)榉?hào)計(jì)算、數(shù)學(xué)機(jī)械化.E-mail:ypliu@cs.ecnu.edu.cn.