Wolfram Mathematica

![]() | |
![]() | |
開發者 | 沃爾夫勒姆研究公司 |
---|---|
首次發佈 | 1988年6月23日[1] |
目前版本 | 14.2[2]![]() |
程式語言 | Wolfram語言,[3] C/C++, Java和Mathematica[4] |
作業系統 | 跨平台(平台列表) |
語言 | 英語、漢語和日語 |
類型 | 電腦代數系統、數值分析軟件、資訊視覺化、統計程式包、圖形化使用者介面 |
許可協定 | 專有 |
網站 | www |
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],包括圖像辨識
- 提供用於圖論中圖的分析和視覺化的工具
- 分析組合問題的工具
- 用於文字挖掘的工具
- 數據探勘的工具,比如聚類分析、字串對齊和模式匹配
- 數論函式庫
- 金融運算的工具,包括期權、債券、年金、衍生工具等的計算
- 群論函數
- 技術文字處理,包括公式編輯器和自動報告生成
- 用於聲音、圖像和數據的小波分析程式庫
- 控制系統程式庫
- 連續和離散的積分轉換
- 匯入和匯出數據、圖像、影片、GIS、CAD[10]等各種檔案格式,並支援對生物醫學類數據的輸入和輸出
- 連結Wolfram Alpha的大量數學、科學、社會經濟學類的數據集合
- 檢視並且重新使用前面的輸入和輸出(包括圖像和文字記號)的筆記本介面
- 和基於DLL、SQL、Java、.NET、C++、Fortran、CUDA、OpenCL以及http的系統相連結的工具
- 編寫並列程式的工具
- 當與互聯網連接時,在筆記本中可同時使用「自由格式語言輸入」(一個自然語言型的用戶介面)[11]和Wolfram語言
筆記本介面
[編輯]Mathematica分為兩部分:內核和前端。內核對表達式(即Wolfram語言代碼)進行解釋,並且返回結果表達式。
前端由西奧多·格雷於1988年設計[12],它提供了一個允許用戶建立並且編輯一個「筆記本文件」的GUI,該筆記本文件可以包含程式碼、格式化文字以及包括公式、圖像、GUI組件、表格、聲音在內的各種輸出結果。所有的內容和格式都可以通過演算法生成或者通過互動式方法進行編輯。其支援大多數標準文書處理功能,還含有一個多語種的即時拼寫檢查器。
文件可以使用層次式單元進行結構化處理,這樣便於對文件劃分章節。文件也可以表示為幻燈片形式,便於進行演講。筆記本與其內容均以Mathematica表達式的形式儲存,並且可用使用Mathematica程式進行建立、編輯和修改,而且還可以轉化為其它格式,比如TeX或者XML。
前端包括開發工具,比如除錯器、輸入自動補全、以及自動語法着色。
預設情況下,Mathematica使用一個標準前端,不過也有其它前端可供選擇,包括Wolfram Workbench、2006年引入的基於Eclipse的IDE。它們為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增加了對CUDA和OpenCL 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]、SageMath[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的產生是基於Cole和Wolfram早期的符號操作程式(SMP)的創意。[52][53]
Wolfram Research已經發佈了如下Mathematica版本[54]:
|
參見
[編輯]- 電腦代數系統比較
- 多重編程範式
- 動態語言
- 第四代程式語言
- 函數式程式設計
- 文學編程
- 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)
- ^ 史蒂芬·沃爾夫勒姆. Launching Version 14.2 of Wolfram Language & Mathematica: Big Data Meets Computation & AI. 2025年1月23日.
- ^ 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. Business Week. [2025-01-14]. (原始內容存檔於2007-11-01).
- ^ 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).
- ^ Mathematica 7 Programming Software Review. Macworld. [2025-01-14]. (原始內容存檔於2011-11-16).
- ^ Mathematica 6 (Cadalyst Labs Review). Cadalyst. [2025-01-14]. (原始內容存檔於2022-03-25).
- ^ The Free-Form Linguistics Revolution in Mathematica. [2010-12-21]. (原始內容存檔於2011-07-26).
- ^ US8407580B2,Gray, Theodore W. & Stephen Wolfram,「Method and system for presenting input expressions and evaluations of the input expressions on a workspace of a computational system」
- ^ MacWorld review of Wolfram Workbench. [2010-12-21]. (原始內容存檔於2006-07-02).
- ^ Using a Text-Based Interface—Wolfram Mathematica 9 Documentation. [2025-01-14]. (原始內容存檔於2013-10-30).
- ^ 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. 2006-02-01 [2025-01-14]. (原始內容存檔於2009-01-12).
- ^ gridMathematica offers parallel computing solution. Macworld. 2002-11-20 [2025-01-14]. (原始內容存檔於2005-12-02).
- ^ Mathematica Player Pro - new Application Delivery System for Mathematica. New Atlas. 2008-04-02 [2025-01-14]. (原始內容存檔於2025-01-14) (美國英語).
- ^ 19.0 19.1 New Mathematica: faster, leaner, linkable and QuickTime-compatible: MathLink kit allows ties to other apps. MacWEEK. 1992-06-15 [2025-01-14]. (原始內容存檔於2009-01-12).
- ^ Wolfram Research Connection Technologies: .NET/Link. [2025-01-14]. (原始內容存檔於2010-09-09).
- ^ 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 — DatabaseJournal.com. www.databasejournal.com. [2025-01-14]. (原始內容存檔於2012-02-23).
- ^ Mathematical Web Services: W3C Note 1 August 2003. [2010-12-21]. (原始內容存檔於2022-01-20).
- ^ Introduction to Web Services - Wolfram Mathematica 8 Documentation. [2025-01-14]. (原始內容存檔於2012-10-21).
- ^ 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 (Cadalyst Labs Review). Cadalyst. [2025-01-14]. (原始內容存檔於2022-03-25).
- ^ 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).
- ^ Andreas Lauschke Consulting. www.lauschkeconsulting.com. [2025-01-14]. (原始內容存檔於2011-07-13) (英語).
- ^ Mathematica Link for Excel: Bringing the Power of Mathematica to Excel. www.wolfram.com. [2025-01-14]. (原始內容存檔於2011-08-23).
- ^ MaMa: Calling MATLAB from Mathematica with MathLink -- from Wolfram Library Archive. library.wolfram.com. [2025-01-14]. (原始內容存檔於2025-01-24).
- ^ R-Link. ScienceOps. [2025-01-14]. (原始內容存檔於2010-11-21).
- ^ Using R Within Mathematica -- from Wolfram Library Archive. library.wolfram.com. [2025-01-14].
- ^ Calling Sage from Mathematica. [2010-12-21]. (原始內容存檔於2012-07-08).
- ^ http://facstaff.unca.edu/mcmcclur/Mathematica/Sage/UsingSage.nb (頁面存檔備份,存於互聯網檔案館) A Mathematica notebook to call Sage from Mathematica.
- ^ Manuel Kauers and Viktor Levandovskyy of the Johannes Kepler University in Austria
- ^ Interface Links Origin And Mathematica Software. [2025-01-14]. (原始內容存檔於2007-03-20).
- ^ Mathematica Link for LabVIEW - Introduction. www.bettervi.com. [2025-01-14]. (原始內容存檔於2021-02-24).
- ^ Lauschke Consulting. www.lauschkeconsulting.com. [2025-01-14]. (原始內容存檔於2011-07-13) (英語).
- ^ Best Open Source Mac Mathematics Software 2025. sourceforge.net. [2025-01-14]. (原始內容存檔於2025-01-14).
- ^ BTopTools for Mathematica Extends Data Acquisition Capabilities to the Lab Environment. www.wolfram.com. [2025-01-14]. (原始內容存檔於2012-02-21).
- ^ 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).
- ^ Scientific & Technical Data—Wolfram Mathematica 9 Documentation. reference.wolfram.com. [2025-01-14]. (原始內容存檔於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. (01-NOV-02) R & D. www.accessmylibrary.com. [2025-01-14]. (原始內容存檔於2009-07-03).
- ^ Pollack, Andrew; Times, Special To the New York. A Top Scientist's Latest: Math Software. The New York Times. 1988-06-24 [2025-01-14]. ISSN 0362-4331. (原始內容存檔於2025-01-14) (美國英語).
- ^ Quick Revision History of Mathematica. [2010-12-22]. (原始內容存檔於2010-09-05).
- ^ Mathematica Scrapbook: June 23, 1988: Mathematica 1.0 Is Launched!. www.wolfram.com. [2025-01-14]. (原始內容存檔於2012-05-18).
- ^ http://www.mathematica-journal.com/issue/v9i1/news.html (頁面存檔備份,存於互聯網檔案館) Mathematica Journal, Volume 9, Issue 1
- ^ Markoff, John. Supercomputer Pictures Solve the Once Insoluble. The New York Times. 1988-10-30 [2025-01-14]. ISSN 0362-4331. (原始內容存檔於2025-01-15) (美國英語).
- ^ 58.00 58.01 58.02 58.03 58.04 58.05 58.06 58.07 58.08 58.09 58.10 A little bit of Mathematica history. www.12000.org. [2025-01-14]. (原始內容存檔於2025-01-24).
- ^ Mathematica 1.1. Biotechnology Software. Vogel, W. K.(1989)
- ^ Mathematica 1.2 adds new graphics options: upgrade also promises concurrent operations. (25-JUL-89) MacWEEK. www.accessmylibrary.com. [2025-01-14]. (原始內容存檔於2009-01-12).
- ^ Mathematica + 283 functions = Mathematica 2.0. (15-JAN-91) MacWEEK. www.accessmylibrary.com. [2025-01-14]. (原始內容存檔於2009-01-12).
- ^ New version of Mathematica. (technical calculation software) (Product Announcement). Mechanical Engineering-CIME. 1993-06-01 [2010-12-22]. (原始內容存檔於2012-10-23).
- ^ Wolfram Research News Archive. www.wolfram.com. [2025-01-14]. (原始內容存檔於2013-03-02).
- ^ Mathematica 4.0 Archive.today的存檔,存檔日期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.
- ^ Factiva Search. moreresults.factiva.com. [2025-01-14]. (原始內容存檔於2012-12-09).
- ^ Mathematica hits 64-bit (頁面存檔備份,存於互聯網檔案館),MacWorld UK, July 13, 2005.
- ^ 2007 May—Wolfram Blog. blog.wolfram.com. 2007-05-29 [2025-01-14]. (原始內容存檔於2025-01-24) (英語).
- ^ Mathematica 6 - Wolfram Research - Scientific Computing World. www.scientific-computing.com. [2025-01-14]. (原始內容存檔於2011-01-13).
- ^ Mathematica 6.0.1 Arrives—Wolfram Blog. blog.wolfram.com. 2007-07-05 [2025-01-14]. (原始內容存檔於2025-01-24) (英語).
- ^ 71.0 71.1 Wolfram Mathematica: Quick Revision History of Mathematica. www.wolfram.com. [2025-01-14]. (原始內容存檔於2010-09-05).
- ^ 2008 November—Wolfram Blog. blog.wolfram.com. 2008-11-18 [2025-01-14]. (原始內容存檔於2025-01-14) (英語).
- ^ MathGroup Archive: March 2009 [00118]. forums.wolfram.com. [2025-01-14]. (原始內容存檔於2022-02-02).
- ^ Wolfram Research News » Mathematica 10.1 is Now Available!. company.wolfram.com. [2025-01-14]. (原始內容存檔於2015-08-22).
- ^ Mathematica Latest Version and Quick Revision History. www.wolfram.com. [2025-01-14]. (原始內容存檔於2022-04-16) (英語).
- ^ The R&D Pipeline Continues: Launching Version 11.1—Stephen Wolfram Writings. blog.wolfram.com. 2017-03-16 [2025-01-14]. (原始內容存檔於2023-09-28) (英語).
- ^ Mathematica Latest Version and Quick Revision History. www.wolfram.com. [2025-01-14]. (原始內容存檔於2019-07-23) (英語).
- ^ It’s Another Impressive Release! Launching Version 11.2 Today—Stephen Wolfram Writings. blog.internal.wolfram.com. 2017-09-14 [2025-01-14]. (原始內容存檔於2023-09-28) (英語).
- ^ Roaring into 2018 with Another Big Release: Launching Version 11.3 of the Wolfram Language & Mathematica—Stephen Wolfram Writings. blog.wolfram.com. 2018-03-08 [2025-01-14]. (原始內容存檔於2023-12-24) (英語).
- ^ Version 12 Launches Today! (And It’s a Big Jump for Wolfram Language and Mathematica)—Stephen Wolfram Writings. writings.stephenwolfram.com. 2019-04-16 [2025-01-14]. (原始內容存檔於2025-01-26) (英語).
- ^ Wolfram Language & System Documentation Center. reference.wolfram.com. [2025-01-14]. (原始內容存檔於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.today的存檔,存檔日期2000-02-29
- Wolfram官方微博 (頁面存檔備份,存於互聯網檔案館)
- 斯蒂芬·沃爾夫勒姆 著,赫孝良、周義倉 譯:《Mathematica全書》,西安交通大學出版社,2002年
- 吳飛 著:《Mathematica演示專案筆記》,清華大學出版社,2010年