Wolfram Mathematica
開發者 | 沃爾夫勒姆研究公司 |
---|---|
首次發布 | 1988年6月23日[1] |
目前版本 |
|
程式語言 | Wolfram語言,[15] C/C++, Java和Mathematica[16] |
作業系統 | 跨平台(平台列表) |
語言 | 英語、漢語和日語 |
類型 | 電腦代數系統、數值分析軟體、資訊視覺化、統計程式包、圖形化使用者介面 |
許可協定 | 專有 |
網站 | www |
Wolfram Mathematica (簡稱:Mathematica)是一款科學計算軟體,有時候也被稱為電腦代數系統,廣泛使用於科學、工程、數學、計算等領域。
它是由英國科學家史蒂芬·沃爾夫勒姆提出構想,並且由他所領導的沃爾夫勒姆研究公司(位於美國伊利諾州香檳市)開發的一款廣泛使用的科學計算軟體[17][18]。它擁有強大的數值計算和符號運算能力,是目前為止使用最廣泛的數學軟體之一。
Wolfram語言是用於Mathematica的程式語言[19]。
沃爾夫勒姆和他的工作團隊於1986年開始 Mathematica 的研發。Mathematica 1.0於1988年1月23日正式發行。2008年12月發行的Mathematica 7.0版及之後的版本有中文版。
產品功能
Mathematica的功能包括:[20]
- 各種基本數學函式庫
- 各種特殊屬性函式庫
- 矩陣和資料操縱工具,包括對稀疏矩陣的處理
- 支援複數、任意精度數、區間算術和符號運算
- 2維和3維資料以及函數的視覺化和動畫工具
- 求解方程組、常微分方程式、偏微分方程式、微分代數方程式、時滯微分方程式、遞迴關係式等等
- 離散和連續微積分的數值和符號工具
- 多變數統計程式庫,包括支援100多種資料分布的資料擬合、假說檢定、機率和期望值的運算
- 支援刪失資料、暫態資料、時間序列和有單位的資料
- 隨機過程和佇列的計算及仿真
- 為包括神經網路在內的資料、圖像和聲音的有監督和無監督機器學習提供工具
- 對運算和應用程式添加使用者介面的各種工具包
- 約束和無約束局部及全域最佳化
- 程式語言支援:程序式程式語言、函數式程式設計語言和物件導向的程式語言
- 圖像處理工具[21],包括圖像辨識
- 提供用於圖論中圖的分析和視覺化的工具
- 分析組合問題的工具
- 用於文字挖掘的工具
- 資料探勘的工具,比如聚類分析、字串對齊和模式匹配
- 數論函式庫
- 金融運算的工具,包括期權、債券、年金、衍生工具等的計算
- 群論函數
- 技術文字處理,包括公式編輯器和自動報告生成
- 用於聲音、圖像和資料的小波分析程式庫
- 控制系統程式庫
- 連續和離散的積分轉換
- 匯入和匯出資料、圖像、影片、GIS、CAD[22]等各種檔案格式,並支援對生物醫學類資料的輸入和輸出
- 連結Wolfram Alpha的大量數學、科學、社會經濟學類的資料集合
- 檢視並且重新使用前面的輸入和輸出(包括圖像和文字記號)的筆記本介面
- 和基於DLL、SQL、Java、.NET、C++、FORTRAN、CUDA、OpenCL以及http的系統相連結的工具
- 編寫並列程式的工具
- 當與網際網路連接時,在筆記本中可同時使用「自由格式語言輸入」(一個自然語言型的使用者介面)[23]和Wolfram語言
筆記本介面
Mathematica分為兩部分:核心和前端。核心對表達式(即Wolfram語言代碼)進行解釋,並且返回結果表達式。
前端由西奧多·格雷於1988年設計[24],它提供了一個允許使用者建立並且編輯一個「筆記本文件」的GUI,該筆記本文件可以包含程式碼、格式化文字以及包括公式、圖像、GUI組件、表格、聲音在內的各種輸出結果。所有的內容和格式都可以通過演算法生成或者通過互動式方法進行編輯。其支援大多數標準文書處理功能,還含有一個多語種的即時拼寫檢查器。
文件可以使用層次式單元進行結構化處理,這樣便於對文件劃分章節。文件也可以表示為幻燈片形式,便於進行演講。筆記本與其內容均以Mathematica表達式的形式儲存,並且可用使用Mathematica程式進行建立、編輯和修改,而且還可以轉化為其它格式,比如TeX或者XML。
前端包括開發工具,比如除錯器、輸入自動補全、以及自動語法著色。
預設情況下,Mathematica使用一個標準前端,不過也有其它前端可供選擇,包括Wolfram Workbench、2006年引入的基於Eclipse的IDE。它們為Mathematica提供了面向專案的開發工具,包括版本管理、除錯、歸檔和測試。[25]此外,Mathematica還包括一個命令列前端(Mathematica Kernel)。[26]
沃爾夫勒姆研究公司已經推出一系列初學者入門影片,介紹使用者介面和引擎。[27]
高效能計算
近年來,Mathematica系統已經開始支援高效能計算。在Mathmatica 5.2版本中,它已經支援自動多執行緒計算[28]。2002年,gridMathematica (頁面存檔備份,存於網際網路檔案館)的引入使得使用者級的並列編程可以在不同的叢集和多處理器系統中進行[29]在2008年,在所有的Mathematcia許可證中囊括了平行計算技術,包括支援網格技術如Windows HPC Server 2008、Microsoft Compute Cluster Server和Sun Grid。2010年,Mathematica增加了對CUDA和OpenCL GPU硬體的支援。另外,第8版還可以生成C代碼,它可以自動由系統C編譯器進行編譯,比如Intel C++編譯器或者Visual Studio 2010編譯器。
部署
使用者可以通過多種解決方案部署使用Mathematica編寫的應用程式:
Mathematica Player Pro是Mathematica的「唯讀」版本,它可以執行任何Mathematica應用程式,但是不允許編輯或者建立Mathematica代碼。[30]此外,還有一個免費版本的Mathematica Player可以用來執行CDF格式的Mathematica程式;它也可以用來檢視標準Mathematica檔案,但是不能執行它們。
webMathematica的網頁瀏覽器可以作為遠端Mathematica伺服器的一個「前端」。它允許使用者在任何平台上遠端訪問編寫好的應用程式。但是,它不允許使用者完全訪問Mathematica。
另外,第8版可以自動將Mathematica代碼轉換成可執行的C代碼,這些自動生成的C代碼可以在標準C編譯器中進行編譯,比如Intel C++ Compiler或者Visual Studio 2010的編譯器。因此,從某種角度上,Mathematica代碼的執行速度可以與C語言代碼相媲美。
與其他應用的連結
Mathematica通過名為MathLink的協定與其它應用程式連結。通過該協定,Mathematica實現核心與前端的通訊,並且也提供了核心和其它應用程式之間的一個通用介面。
Mathematica不但本身具有豐富的功能,而且它也提供了大量介面用以訪問其它軟體,從而可以方便地呼叫那些其它軟體具有但Mathematica暫時不具備的功能。這樣做可以進一步增強Mathematica的適用性。
Wolfram Research發布了一個免費的開發工具包,該工具包允許C programming language編寫的應用程式通過MathLink連結到 Mathematica核心[31]。
使用.NET/Link,[32],任何一個.NET程式都可以呼叫Mathematica執行計算操作;相應地,Mathematica程式也可以載入.NET classes、操縱.NET物件並且執行方法呼叫。這樣我們就可以從Mathematica內部構建.NET 圖形化使用者介面。類似地,Mathematica也有J/Link[33]。顧名思義,它可以用於Mathematica與Java程式之間的互動。
與SQL資料庫之間的通訊是通過內建的JDBC支援實現的。[34] Mathematica也可以從一個WSDL描述中安裝網頁服務。[35][36]
Mathematica支援生成和執行 Modelica系統建模的模型,並連線到Wolfram System Modeler.
連結也可用於許多第三方軟體包和API.[37]
Mathematica還可以從各種來源捕獲實時資料[38] 並可以讀取和寫入公共區塊鏈 (Bitcoin, Ethereum, and ARK).[39]
它支援匯入和匯出220多個資料、影象、影片、聲音, 電腦輔助設計 (CAD), 地理資訊系統 (GIS),[40] 檔案和生物醫學格式。
其它與Mathematica相連結的語言套件括Haskell[41]、AppleScript[42]、PLT Scheme[43]、Visual Basic[44]、Python[45] 和Clojure[46]。
在Mathematica和OpenOffice.org Calc[47]以及Microsoft Excel[48]之間有雙向的連結。
Mathematica也提供了與許多專門的數學軟體套件之間的連結,包括MATLAB[49]、R [50][51]、Sage[52][53]、SINGULAR[54]、MathModelica和Origin [55]
Mathematica中的數學公式也可以與其它計算或者排版軟體(比如MathML)的公式進行相互轉換。
Mathematica可以通過多種方式擷取即時資料,比如與LabVIEW的連結[56],金融資料feeds [57],或者直接通過GPIB從硬體裝置(IEEE 488)[58]、USB[59]以及串行介面[60]取得。
其他可用介面有JMath,[61]它基於GNU readline和MASH[62],並利用UNIX命令列執行內建的Mathematica程式(內含參數)。
可計算資料
Mathematica囊括了大量可立即計算的資料。使用者可以通過編程訪問這些資料,並且也可以通過Wolfram Research資料伺服器自動更新資料[63]。某些資料如股票價格和天氣資料都是即時遞送的。目前資料集包括:
- 天文資料:155,000個天體的99個屬性
- 化學資料:34,000個化合物的111個屬性,118個化學元素的86個屬性以及1000個次原子粒子的35個屬性
- 地緣政治資料:237個國家的225個屬性,以及全世界160,000個城市的14個屬性
- 金融資料:186,000個股票和金融工具的歷史和即時屬性
- 數學資料:187種多面體的89個屬性,3000種圖的258個屬性,6種 knots的63個屬性,21種晶格結構的37個屬性,52個測地學方案的32個屬性
- 語言資料:149,000個英語單詞的37個屬性。26個其他語言的詞典
- 生物醫學資料:所有40,000個人類基因的41個資料,27,000類蛋白質的30個屬性
- 天氣資料:全球17,000個氣象站的43個即時和歷史的測量資料
- Wolfram|Alpha資料:來自Wolfram Alpha的億萬兆資料
版本歷史
Mathematica的產生是基於Cole和Wolfram早期的符號操作程式(SMP)的創意。[64][65]
Wolfram Research已經發布了如下Mathematica版本[66]:
|
參見
- 電腦代數系統比較
- 多重編程範式
- 動態語言
- 第四代程式語言
- 函數式程式語言
- 文學編程
- Wolfram語言
- Wolfram Alpha——可計算知識引擎
- Wolfram SystemModeler——一個與Mathematica整合的物理建模和仿真工具
- IMTEK Mathematica Supplement——有限元仿真的開源Mathematica附加軟體
- 數學軟體
參考文獻
- ^ Wolfram, Stephen, Mathematica Turns 20 Today, Wolfram, 2008-06-23 [2012-05-16], (原始內容存檔於2011-10-02)
- ^ Bref historique des révisions de Mathematica. [2015年12月24日] (法語).
- ^ 3.0 3.1 3.2 https://www.wolfram.com/mathematica/quick-revision-history.html.
- ^ https://blog.wolfram.com/2019/04/16/version-12-launches-today-big-jump-for-wolfram-language-and-mathematica/.
- ^ In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica. 2020年3月18日.
- ^ Launching Version 12.2 of Wolfram Language & Mathematica: 228 New Functions and Much More…. 2020年12月16日 [2020年12月16日].
- ^ Launching Version 12.3 of Wolfram Language & Mathematica. 2021年5月20日 [2021年5月21日].
- ^ Launching Version 13.0 of Wolfram Language + Mathematica.
- ^ Mathematica 13.0.1. Softpedia. 2022年2月17日.
- ^ Mathematica Quick Revision History. [2022年12月20日].
- ^ The Latest from Our R&D Pipeline: Version 13.2 of Wolfram Language & Mathematica. 2022年12月14日 [2022年12月20日].
- ^ Version 13.3 of Wolfram Language and Mathematica. 2023年6月28日 [2023年7月19日].
- ^ The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica. 2024年1月9日 [2024年1月10日].
- ^ ContentsYet More New Ideas and New Functions: Launching Version 14.1 of Wolfram Language & MathematicaView All Release Announcements »Yet More New Ideas and New Functions: Launching Version 14.1 of Wolfram Language & Mathematica. 2024年7月31日.
- ^ Celebrating Mathematica's First Quarter Century. [2015-08-11]. (原始內容存檔於2015-12-22).
- ^ The Software Engineering of Mathematica—Wolfram Mathematica 9 Documentation (頁面存檔備份,存於網際網路檔案館). Reference.wolfram.com. Retrieved on 2015-03-23.
- ^ Stephen Wolfram: Simple Solutions; The iconoclastic physicist's Mathematica software nails complex puzzles (頁面存檔備份,存於網際網路檔案館), BusinessWeek, October 3, 2005.
- ^ Contact Wolfram Research. [2015-08-11]. (原始內容存檔於2012-09-04).
- ^ Slate's article Stephen Wolfram's New Programming Language: He Can Make The World Computable, March 6, 2014. Retrieved on 2014-05-14.. [2015-02-09]. (原始內容存檔於2016-04-01).
- ^ Mathematica documentation. [2010-12-21]. (原始內容存檔於2008-09-07).
- ^ Review: Mathematica 7. Technical computing powerhouse gets more oomph (頁面存檔備份,存於網際網路檔案館) Macworld, Jan 2009
- ^ Mathematica 6 Labs Review (頁面存檔備份,存於網際網路檔案館) Cadalyst Feb 1, 2008
- ^ The Free-Form Linguistics Revolution in Mathematica. [2010-12-21]. (原始內容存檔於2011-07-26).
- ^ Patent US8407580 (頁面存檔備份,存於網際網路檔案館) Google Patent Search
- ^ MacWorld review of Wolfram Workbench. [2010-12-21]. (原始內容存檔於2006-07-02).
- ^ Using a Text-Based Interface (頁面存檔備份,存於網際網路檔案館) documentation at wolfram.com
- ^ Cliff Hastings. Wolfram Screencast & Video Gallery: Hands-on Start to Mathematica. wolfram.com. [2014-12-31]. (原始內容存檔於2022-04-10).
- ^ The 21st annual Editors' Choice Awards (頁面存檔備份,存於網際網路檔案館),Macworld, February 1, 2006.
- ^ gridMathematica offers parallel computing solution (頁面存檔備份,存於網際網路檔案館) by Dennis Sellers, MacWorld, November 20, 2002.
- ^ Mathematica Player Pro - new Application Delivery System for Mathematica (頁面存檔備份,存於網際網路檔案館) www.gizmag.com
- ^ 31.0 31.1 New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps. (Wolfram Research Inc. ships Mathematica 2.1, new QuickTime-compatible version of Mathematica software) (頁面存檔備份,存於網際網路檔案館) by Daniel Todd, MacWeek, June 15, 1992.
- ^ .NET/Link (頁面存檔備份,存於網際網路檔案館): .NET/Link is a toolkit that integrates Mathematica and the Microsoft .NET Framework.
- ^ Charles Seiter. Mathematica 4.2: Feature-Rich Math Program Integrates with the Web, Adds Full Java Support. Macworld. 2002-11-01. (原始內容存檔於2007-11-21).[失效連結]
- ^ Mathematica 5.1 Available (頁面存檔備份,存於網際網路檔案館),Database Journal, Jan 3, 2005.
- ^ Mathematical Web Services: W3C Note 1 August 2003. [2010-12-21]. (原始內容存檔於2022-01-20).
- ^ Introduction to Web Services (頁面存檔備份,存於網際網路檔案館),Mathematica Web Services Tutorial
- ^ Wolfram Documentation: ServiceConnect. [4 August 2021]. (原始內容存檔於2023-04-08).
- ^ Vernier and Mathematica. [2023-04-08]. (原始內容存檔於2019-05-29).
- ^ Working with blockchains. [15 April 2020]. (原始內容存檔於2023-04-08).
- ^ Mathematica 6 Labs Review 網際網路檔案館的存檔,存檔日期2022-03-25. Cadalyst Feb 1, 2008
- ^ Haskell pakages. [2010-12-21]. (原始內容存檔於2011-07-16).
- ^ Unisoftware plus. [2017-08-21]. (原始內容存檔於2011-07-17).
- ^ MrMathematica website. [2010-12-21]. (原始內容存檔於2011-06-05).
- ^ Mathematica for ActivX. [2010-12-21]. (原始內容存檔於2011-07-17).
- ^ Pythonika MathLink module for Python. [2010-12-21]. (原始內容存檔於2010-07-29).
- ^ 存档副本. [2010-12-21]. (原始內容存檔於2011-07-18).
- ^ CalcLink (頁面存檔備份,存於網際網路檔案館) Lauschke Consulting
- ^ [1] (頁面存檔備份,存於網際網路檔案館) Mathematica Link for Excel
- ^ Mathsource item #618 for calling MATLAB from Mathematica (頁面存檔備份,存於網際網路檔案館) Roger Germundsson from Wolfram Research
- ^ R-Link (頁面存檔備份,存於網際網路檔案館) Calling R from within Mathematica
- ^ Using R's functionality with Mathematica (頁面存檔備份,存於網際網路檔案館) Wolfram Technology Conference in 2006
- ^ 存档副本. [2010-12-21]. (原始內容存檔於2012-07-08). Calling Sage from Mathematica
- ^ http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/UsingSage.nb (頁面存檔備份,存於網際網路檔案館) A Mathematica notebook to call Sage from Mathematica.
- ^ [2] Manuel Kauers and Viktor Levandovskyy of the Johannes Kepler University in Austria
- ^ * Interface Links Origin And Mathematica Software (頁面存檔備份,存於網際網路檔案館) Electronic Design
- ^ Mathematica Link to Labview (頁面存檔備份,存於網際網路檔案館) BetterView Consulting
- ^ DDFLink (頁面存檔備份,存於網際網路檔案館) Lauschke Consulting
- ^ GITM SourceForge
- ^ BTopTools (頁面存檔備份,存於網際網路檔案館) A commercial interface to USB devices
- ^ Interfacing Hardware with Mathematica. [2010-12-21]. (原始內容存檔於2021-02-24).
- ^ JMath website. [2011-06-07]. (原始內容存檔於2022-04-07).
- ^ MASH website. [2011-06-07]. (原始內容存檔於2011-07-09).
- ^ 存档副本. [2012-05-16]. (原始內容存檔於2012-05-10).
- ^ Math, the universe, and Stephen: the author of Mathematica created a whirlwind of scientific controversy this year when, after more than 10 years of research, he published his treatise on the ability of simple structures to create unpredictable complex patterns. (2002 Scientist Of The Year).(Stephen Wolfram) (頁面存檔備份,存於網際網路檔案館) by Tim Studt, R&D, November 1 , 2002.
- ^ A Top Scientist's Latest: Math Software by Andrew Pollack, The New York Times,June 24, 19988.
- ^ Quick Revision History of Mathematica. [2010-12-22]. (原始內容存檔於2010-09-05).
- ^ 存档副本. [2012-05-16]. (原始內容存檔於2012-05-18).
- ^ http://www.mathematica-journal.com/issue/v9i1/news.html (頁面存檔備份,存於網際網路檔案館) Mathematica Journal, Volume 9, Issue 1
- ^ Supercomputer Pictures Solve the Once Insoluble (頁面存檔備份,存於網際網路檔案館),John Markoff, October 30, 1988.
- ^ 70.00 70.01 70.02 70.03 70.04 70.05 70.06 70.07 70.08 70.09 70.10 [3] (頁面存檔備份,存於網際網路檔案館),Nasser M. Abbasi.
- ^ Mathematica 1.1. Biotechnology Software. Vogel, W. K.(1989)
- ^ Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations (頁面存檔備份,存於網際網路檔案館) by Elinor Craig, MacWeek,July 25, 1989.
- ^ Mathematica + 283 functions = Mathematica 2.0 (頁面存檔備份,存於網際網路檔案館) by Raines Cohen, MacWeek,January 15, 1991.
- ^ New version of Mathematica (頁面存檔備份,存於網際網路檔案館),Mechanical Engineering,June 1, 1993.
- ^ [4] (頁面存檔備份,存於網際網路檔案館),Wolfram news archive, 1996.
- ^ Mathematica 4.0 Archive.is的存檔,存檔日期2012-06-04 by Charles Seiters, Macworld,October 1, 1999.
- ^ Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica's initial release, Wolfram Research has released Mathematica (頁面存檔備份,存於網際網路檔案館),PC Magazine,September 3, 2003.
- ^ Mathematica 5.1's Web Services Add Up; Mathematica 5.1 delivers improvements over Version 5.0 that are vastly out of proportion for a .1 upgrade. (頁面存檔備份,存於網際網路檔案館) by Peter Coffee, eWeek,December 6, 2004.
- ^ Mathematica hits 64-bit (頁面存檔備份,存於網際網路檔案館),MacWorld UK, July 13, 2005.
- ^ [5] (頁面存檔備份,存於網際網路檔案館) Today, Mathematica is reinvented - Blog by Stephen Wolfram
- ^ Mathematica 6: Felix Grant finds that version 6 of Wolfram Research's symbolic mathematical software really does live up to its expectations. (頁面存檔備份,存於網際網路檔案館) Scientific Computing, 2007.
- ^ [6] (頁面存檔備份,存於網際網路檔案館),Wolfram Blog, 2007.
- ^ 83.0 83.1 [7] (頁面存檔備份,存於網際網路檔案館),Mathematica Quick Revision History.
- ^ [8] (頁面存檔備份,存於網際網路檔案館),Mathematica 7.0 Released Today! - Blog by Stephen Wolfram
- ^ [9] (頁面存檔備份,存於網際網路檔案館),Announcing Mathematica 7.0.1.
- ^ 存档副本. [2015-04-10]. (原始內容存檔於2015-08-22).
- ^ 存档副本. [2015-07-17]. (原始內容存檔於2022-04-16).
- ^ 存档副本. [2017-10-29]. (原始內容存檔於2021-10-28).
- ^ 存档副本. [2017-10-29]. (原始內容存檔於2019-07-23).
- ^ 存档副本. [2017-10-29]. (原始內容存檔於2021-11-20).
- ^ 存档副本. [2018-03-12]. (原始內容存檔於2018-10-06).
- ^ 存档副本. [2019-04-17]. (原始內容存檔於2019-05-28).
- ^ 存档副本. [2018-07-09]. (原始內容存檔於2018-07-14).
- ^ 存档副本. [2021-11-18]. (原始內容存檔於2021-11-18).
- ^ Mathematica Latest Version and Quick Revision History. [2022-10-09]. (原始內容存檔於2022-10-09).
外部連結
- Wolfram Mathematica官方網站 (頁面存檔備份,存於網際網路檔案館)
- Mathematica參考資料中心 (頁面存檔備份,存於網際網路檔案館)
- Wolfram Research中文官方網站 (頁面存檔備份,存於網際網路檔案館)
- Mathematica中文討論 (頁面存檔備份,存於網際網路檔案館)
- MathWorld Archive.is的存檔,存檔日期2000-02-29
- Wolfram官方微博 (頁面存檔備份,存於網際網路檔案館)
- 史蒂芬·沃爾夫勒姆 著,赫孝良、周義倉 譯:《Mathematica全書》,西安交通大學出版社,2002年
- 吳飛 著:《Mathematica演示專案筆記》,清華大學出版社,2010年