Wolfram Mathematica

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
(重新導向自Mathematica
Wolfram Mathematica
開發者沃爾夫勒姆研究公司
首次發布1988年6月23日,​35年前​(1988-06-23[1]
當前版本
  • 14.0 (2024年1月9日;穩定版本)[2]
編輯維基數據鏈接
編程語言Wolfram語言,[3] C/C++, Java和Mathematica[4]
操作系統跨平台(平台列表)
語言英語、漢語和日語
類型計算機代數系統、數值分析軟件、信息可視化、統計程序包、圖形用戶界面
許可協議專有
網站www.wolfram.com/mathematica/

Wolfram Mathematica (簡稱:Mathematica)是一款科學計算軟件,有時候也被稱為計算機代數系統,廣泛使用於科學、工程、數學、計算等領域。

它是由英國科學家斯蒂芬·沃爾夫勒姆提出構想,並且由他所領導的沃爾夫勒姆研究公司(位於美國伊利諾伊州香檳市)開發的一款廣泛使用的科學計算軟件[5][6]。它擁有強大的數值計算和符號運算能力,是目前為止使用最廣泛的數學軟件之一。

Wolfram語言是用於Mathematica的編程語言[7]

沃爾夫勒姆和他的工作團隊於1986年開始Mathematica的研發。Mathematica 1.0於1988年1月23日正式發行。2008年12月發行的Mathematica 7.0版及之後的版本有中文版。

產品功能[編輯]

Mathematica的功能包括:[8]

  • 各種基本數學函數庫
  • 各種特殊屬性函數庫
  • 矩陣和數據操縱工具,包括對稀疏矩陣的處理
  • 支持複數、任意精度數、區間算術和符號運算
  • 2維和3維數據以及函數的可視化和動畫工具
  • 求解方程組、常微分方程偏微分方程、微分代數方程、時滯微分方程遞推關係式等等
  • 離散和連續微積分的數值和符號工具
  • 多變量統計程序庫,包括支持100多種數據分布的數據擬合、假設檢驗、概率和期望的運算
  • 支持刪失數據、暫態數據、時間序列和有單位的數據
  • 隨機過程和隊列的計算及仿真
  • 為包括神經網絡在內的數據、圖像和聲音的有監督和無監督機器學習提供工具
  • 對運算和應用程序添加用戶界面的各種工具包
  • 約束和無約束局部及全局最優化
  • 程序語言支持:過程式編程語言、函數式編程語言和面向對象的編程語言
  • 圖像處理工具[9],包括圖像識別
  • 提供用於圖論中圖的分析和可視化的工具
  • 分析組合問題的工具
  • 用於文本挖掘的工具
  • 數據挖掘的工具,比如聚類分析字符串對齊和模式匹配
  • 數論函數庫
  • 金融運算的工具,包括期權債券、年金、衍生工具等的計算
  • 群論函數
  • 技術文本處理,包括公式編輯器和自動報告生成
  • 用於聲音、圖像和數據的小波分析程序庫
  • 控制系統程序庫
  • 連續和離散的積分變換
  • 導入和導出數據、圖像、視頻、GISCAD[10]等各種文件格式,並支持對生物醫學類數據的輸入和輸出
  • 鏈接Wolfram Alpha的大量數學、科學、社會經濟學類的數據集合
  • 查看並且重新使用前面的輸入和輸出(包括圖像和文本記號)的筆記本界面
  • 和基於DLL、SQLJava.NETC++FORTRANCUDAOpenCL以及http的系統相鏈接的工具
  • 編寫並行程序的工具
  • 當與互聯網連接時,在筆記本中可同時使用「自由格式語言輸入」(一個自然語言型的用戶界面)[11]和Wolfram語言

筆記本界面[編輯]

Mathematica分為兩部分:內核和前端。內核對表達式(即Wolfram語言代碼)進行解釋,並且返回結果表達式。

前端由西奧多·格雷於1988年設計[12],它提供了一個允許用戶創建並且編輯一個「筆記本文檔」的GUI,該筆記本文檔可以包含程序代碼、格式化文本以及包括公式、圖像、GUI組件、表格、聲音在內的各種輸出結果。所有的內容和格式都可以通過算法生成或者通過交互式方法進行編輯。其支持大多數標準文字處理功能,還含有一個多語種的實時拼寫檢查器。

文檔可以使用層次式單元進行結構化處理,這樣便於對文檔劃分章節。文檔也可以表示為幻燈片形式,便於進行演講。筆記本與其內容均以Mathematica表達式的形式存儲,並且可用使用Mathematica程序進行創建、編輯和修改,而且還可以轉化為其它格式,比如TeX或者XML

前端包括開發工具,比如調試器、輸入自動補全、以及自動語法着色。

默認情況下,Mathematica使用一個標準前端,不過也有其它前端可供選擇,包括Wolfram Workbench、2006年引入的基於EclipseIDE。它們為Mathematica提供了面向項目的開發工具,包括版本管理、調試、歸檔和測試。[13]此外,Mathematica還包括一個命令行前端(Mathematica Kernel)。[14]

沃爾夫勒姆研究公司已經推出一系列初學者入門視頻,介紹用戶界面和引擎。[15]

高性能計算[編輯]

近年來,Mathematica系統已經開始支持高性能計算。在Mathmatica 5.2版本中,它已經支持自動多線程計算[16]。2002年,gridMathematica頁面存檔備份,存於網際網路檔案館)的引入使得用戶級的並行編程可以在不同的集群和多處理器系統中進行[17]在2008年,在所有的Mathematcia許可證中囊括了並行計算技術,包括支持網格技術如Windows HPC Server 2008、Microsoft Compute Cluster Server和Sun Grid。2010年,Mathematica增加了對CUDAOpenCL GPU硬件的支持。另外,第8版還可以生成C代碼,它可以自動由系統C編譯器進行編譯,比如Intel C++編譯器或者Visual Studio 2010編譯器。

部署[編輯]

用戶可以通過多種解決方案部署使用Mathematica編寫的應用程序:

Mathematica Player Pro是Mathematica的「只讀」版本,它可以運行任何Mathematica應用程序,但是不允許編輯或者創建Mathematica代碼。[18]此外,還有一個免費版本的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內核[19]

使用.NET/Link[20],任何一個.NET程序都可以調用Mathematica執行計算操作;相應地,Mathematica程序也可以加載.NET classes、操縱.NET對象並且執行方法調用。這樣我們就可以從Mathematica內部構建.NET 圖形用戶界面。類似地,Mathematica也有J/Link[21]。顧名思義,它可以用於Mathematica與Java程序之間的交互。

SQL數據庫之間的通訊是通過內置的JDBC支持實現的。[22] Mathematica也可以從一個WSDL描述中安裝網頁服務[23][24]

Mathematica支援生成和執行 Modelica系統建模的模型,並連線到Wolfram System Modeler.

連結也可用於許多第三方軟體包和API.[25]

Mathematica還可以從各種來源捕獲實時資料[26] 並可以讀取和寫入公共區塊鏈 (Bitcoin, Ethereum, and ARK).[27]

它支援匯入和匯出220多個資料、影象、影片、聲音, 電腦輔助設計 (CAD), 地理信息系統 (GIS),[28] 檔案和生物醫學格式。


其它與Mathematica相鏈接的語言包括Haskell[29]AppleScript[30]、PLT Scheme[31]Visual Basic[32]Python[33]Clojure[34]

在Mathematica和OpenOffice.org Calc[35]以及Microsoft Excel[36]之間有雙向的鏈接。

Mathematica也提供了與許多專門的數學軟件包之間的鏈接,包括MATLAB[37]R [38][39]Sage[40][41]、SINGULAR[42]、MathModelica和Origin [43]

Mathematica中的數學公式也可以與其它計算或者排版軟件(比如MathML)的公式進行相互轉換。

Mathematica可以通過多種方式捕獲實時數據,比如與LabVIEW的鏈接[44],金融數據feeds [45],或者直接通過GPIB從硬件設備(IEEE 488)[46]USB[47]以及串行接口[48]獲取。

其他可用界面有JMath,[49]它基於GNU readline和MASH[50],並利用UNIX命令行運行內置的Mathematica程序(內含參數)。

可計算數據[編輯]

Mathematica囊括了大量可立即計算的數據。用戶可以通過編程訪問這些數據,並且也可以通過Wolfram Research數據服務器自動更新數據[51]。某些數據如股票價格和天氣數據都是實時遞送的。目前數據集包括:

  • 天文數據: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版本

Mathematica的產生是基於Cole和Wolfram早期的符號操作程序(SMP)的創意。[52][53]

Wolfram Research已經發布了如下Mathematica版本[54]

參見[編輯]

參考文獻[編輯]

  1. ^ Wolfram, Stephen, Mathematica Turns 20 Today, Wolfram, 2008-06-23 [2012-05-16], (原始內容存檔於2011-10-02) 
  2. ^ 2.0 2.1 The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica. 2024年1月9日 [2024年1月10日]. 
  3. ^ Celebrating Mathematica's First Quarter Century. [2015-08-11]. (原始內容存檔於2015-12-22). 
  4. ^ The Software Engineering of Mathematica—Wolfram Mathematica 9 Documentation頁面存檔備份,存於網際網路檔案館). Reference.wolfram.com. Retrieved on 2015-03-23.
  5. ^ Stephen Wolfram: Simple Solutions; The iconoclastic physicist's Mathematica software nails complex puzzles頁面存檔備份,存於網際網路檔案館), BusinessWeek, October 3, 2005.
  6. ^ Contact Wolfram Research. [2015-08-11]. (原始內容存檔於2012-09-04). 
  7. ^ 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). 
  8. ^ Mathematica documentation. [2010-12-21]. (原始內容存檔於2008-09-07). 
  9. ^ Review: Mathematica 7. Technical computing powerhouse gets more oomph頁面存檔備份,存於網際網路檔案館) Macworld, Jan 2009
  10. ^ Mathematica 6 Labs Review頁面存檔備份,存於網際網路檔案館) Cadalyst Feb 1, 2008
  11. ^ The Free-Form Linguistics Revolution in Mathematica. [2010-12-21]. (原始內容存檔於2011-07-26). 
  12. ^ Patent US8407580頁面存檔備份,存於網際網路檔案館) Google Patent Search
  13. ^ MacWorld review of Wolfram Workbench. [2010-12-21]. (原始內容存檔於2006-07-02). 
  14. ^ Using a Text-Based Interface頁面存檔備份,存於網際網路檔案館) documentation at wolfram.com
  15. ^ Cliff Hastings. Wolfram Screencast & Video Gallery: Hands-on Start to Mathematica. wolfram.com. [2014-12-31]. (原始內容存檔於2022-04-10). 
  16. ^ The 21st annual Editors' Choice Awards頁面存檔備份,存於網際網路檔案館),Macworld, February 1, 2006.
  17. ^ gridMathematica offers parallel computing solution頁面存檔備份,存於網際網路檔案館) by Dennis Sellers, MacWorld, November 20, 2002.
  18. ^ Mathematica Player Pro - new Application Delivery System for Mathematica頁面存檔備份,存於網際網路檔案館) www.gizmag.com
  19. ^ 19.0 19.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.
  20. ^ .NET/Link頁面存檔備份,存於網際網路檔案館): .NET/Link is a toolkit that integrates Mathematica and the Microsoft .NET Framework.
  21. ^ Charles Seiter. Mathematica 4.2: Feature-Rich Math Program Integrates with the Web, Adds Full Java Support. Macworld. 2002-11-01. (原始內容存檔於2007-11-21). [失效連結]
  22. ^ Mathematica 5.1 Available 頁面存檔備份,存於網際網路檔案館),Database Journal, Jan 3, 2005.
  23. ^ Mathematical Web Services: W3C Note 1 August 2003. [2010-12-21]. (原始內容存檔於2022-01-20). 
  24. ^ Introduction to Web Services頁面存檔備份,存於網際網路檔案館),Mathematica Web Services Tutorial
  25. ^ Wolfram Documentation: ServiceConnect. [4 August 2021]. (原始內容存檔於2023-04-08). 
  26. ^ Vernier and Mathematica. [2023-04-08]. (原始內容存檔於2019-05-29). 
  27. ^ Working with blockchains. [15 April 2020]. (原始內容存檔於2023-04-08). 
  28. ^ Mathematica 6 Labs Review 網際網路檔案館存檔,存檔日期2022-03-25. Cadalyst Feb 1, 2008
  29. ^ Haskell pakages. [2010-12-21]. (原始內容存檔於2011-07-16). 
  30. ^ Unisoftware plus. [2017-08-21]. (原始內容存檔於2011-07-17). 
  31. ^ MrMathematica website. [2010-12-21]. (原始內容存檔於2011-06-05). 
  32. ^ Mathematica for ActivX. [2010-12-21]. (原始內容存檔於2011-07-17). 
  33. ^ Pythonika MathLink module for Python. [2010-12-21]. (原始內容存檔於2010-07-29). 
  34. ^ 存档副本. [2010-12-21]. (原始內容存檔於2011-07-18). 
  35. ^ CalcLink頁面存檔備份,存於網際網路檔案館) Lauschke Consulting
  36. ^ [1]頁面存檔備份,存於網際網路檔案館) Mathematica Link for Excel
  37. ^ Mathsource item #618 for calling MATLAB from Mathematica頁面存檔備份,存於網際網路檔案館) Roger Germundsson from Wolfram Research
  38. ^ R-Link頁面存檔備份,存於網際網路檔案館) Calling R from within Mathematica
  39. ^ Using R's functionality with Mathematica (頁面存檔備份,存於網際網路檔案館) Wolfram Technology Conference in 2006
  40. ^ 存档副本. [2010-12-21]. (原始內容存檔於2012-07-08).  Calling Sage from Mathematica
  41. ^ http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/UsingSage.nb頁面存檔備份,存於網際網路檔案館) A Mathematica notebook to call Sage from Mathematica.
  42. ^ [2] Manuel Kauers and Viktor Levandovskyy of the Johannes Kepler University in Austria
  43. ^ * Interface Links Origin And Mathematica Software頁面存檔備份,存於網際網路檔案館) Electronic Design
  44. ^ Mathematica Link to Labview頁面存檔備份,存於網際網路檔案館) BetterView Consulting
  45. ^ DDFLink頁面存檔備份,存於網際網路檔案館) Lauschke Consulting
  46. ^ GITM SourceForge
  47. ^ BTopTools頁面存檔備份,存於網際網路檔案館) A commercial interface to USB devices
  48. ^ Interfacing Hardware with Mathematica. [2010-12-21]. (原始內容存檔於2021-02-24). 
  49. ^ JMath website. [2011-06-07]. (原始內容存檔於2022-04-07). 
  50. ^ MASH website. [2011-06-07]. (原始內容存檔於2011-07-09). 
  51. ^ 存档副本. [2012-05-16]. (原始內容存檔於2012-05-10). 
  52. ^ 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.
  53. ^ A Top Scientist's Latest: Math Software by Andrew Pollack, The New York Times,June 24, 19988.
  54. ^ Quick Revision History of Mathematica. [2010-12-22]. (原始內容存檔於2010-09-05). 
  55. ^ 存档副本. [2012-05-16]. (原始內容存檔於2012-05-18). 
  56. ^ http://www.mathematica-journal.com/issue/v9i1/news.html頁面存檔備份,存於網際網路檔案館) Mathematica Journal, Volume 9, Issue 1
  57. ^ Supercomputer Pictures Solve the Once Insoluble頁面存檔備份,存於網際網路檔案館),John Markoff, October 30, 1988.
  58. ^ 58.00 58.01 58.02 58.03 58.04 58.05 58.06 58.07 58.08 58.09 58.10 [3]頁面存檔備份,存於網際網路檔案館),Nasser M. Abbasi.
  59. ^ Mathematica 1.1. Biotechnology Software. Vogel, W. K.(1989)
  60. ^ Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations頁面存檔備份,存於網際網路檔案館) by Elinor Craig, MacWeek,July 25, 1989.
  61. ^ Mathematica + 283 functions = Mathematica 2.0頁面存檔備份,存於網際網路檔案館) by Raines Cohen, MacWeek,January 15, 1991.
  62. ^ New version of Mathematica頁面存檔備份,存於網際網路檔案館),Mechanical Engineering,June 1, 1993.
  63. ^ [4]頁面存檔備份,存於網際網路檔案館),Wolfram news archive, 1996.
  64. ^ Mathematica 4.0 Archive.is存檔,存檔日期2012-06-04 by Charles Seiters, Macworld,October 1, 1999.
  65. ^ Mathematica 5.0 Adds Up: Exactly 15 years after Mathematica's initial release, Wolfram Research has released Mathematica 頁面存檔備份,存於網際網路檔案館),PC Magazine,September 3, 2003.
  66. ^ 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.
  67. ^ Mathematica hits 64-bit頁面存檔備份,存於網際網路檔案館),MacWorld UK, July 13, 2005.
  68. ^ [5]頁面存檔備份,存於網際網路檔案館) Today, Mathematica is reinvented - Blog by Stephen Wolfram
  69. ^ 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.
  70. ^ [6]頁面存檔備份,存於網際網路檔案館),Wolfram Blog, 2007.
  71. ^ 71.0 71.1 [7]頁面存檔備份,存於網際網路檔案館),Mathematica Quick Revision History.
  72. ^ [8]頁面存檔備份,存於網際網路檔案館),Mathematica 7.0 Released Today! - Blog by Stephen Wolfram
  73. ^ [9]頁面存檔備份,存於網際網路檔案館),Announcing Mathematica 7.0.1.
  74. ^ 存档副本. [2015-04-10]. (原始內容存檔於2015-08-22). 
  75. ^ 存档副本. [2015-07-17]. (原始內容存檔於2022-04-16). 
  76. ^ 存档副本. [2017-10-29]. (原始內容存檔於2021-10-28). 
  77. ^ 存档副本. [2017-10-29]. (原始內容存檔於2019-07-23). 
  78. ^ 存档副本. [2017-10-29]. (原始內容存檔於2021-11-20). 
  79. ^ 存档副本. [2018-03-12]. (原始內容存檔於2018-10-06). 
  80. ^ 存档副本. [2019-04-17]. (原始內容存檔於2019-05-28). 
  81. ^ 存档副本. [2018-07-09]. (原始內容存檔於2018-07-14). 
  82. ^ 存档副本. [2021-11-18]. (原始內容存檔於2021-11-18). 
  83. ^ Mathematica Latest Version and Quick Revision History. [2022-10-09]. (原始內容存檔於2022-10-09). 

外部連結[編輯]