Loading AI tools
科学计算软件 来自维基百科,自由的百科全书
Wolfram Mathematica (簡稱:Mathematica)是一款科學計算軟件,有時候也被稱為計算機代數系統,廣泛使用於科學、工程、數學、計算等領域。
開發者 | 沃爾夫勒姆研究公司 |
---|---|
首次發布 | 1988年6月23日[1] |
當前版本 |
|
編程語言 | Wolfram語言,[15] C/C++, Java和Mathematica[16] |
操作系統 | 跨平台(平台列表) |
語言 | 英語、漢語和日語 |
類型 | 計算機代數系統、數值分析軟件、信息可視化、統計程序包、圖形用戶界面 |
許可協議 | 專有 |
網站 | www |
它是由英國科學家斯蒂芬·沃爾夫勒姆提出構想,並且由他所領導的沃爾夫勒姆研究公司(位於美國伊利諾伊州香檳市)開發的一款廣泛使用的科學計算軟件[17][18]。它擁有強大的數值計算和符號運算能力,是目前為止使用最廣泛的數學軟件之一。
Wolfram語言是用於Mathematica的編程語言[19]。
沃爾夫勒姆和他的工作團隊於1986年開始 Mathematica 的研發。Mathematica 1.0於1988年1月23日正式發行。2008年12月發行的Mathematica 7.0版及之後的版本有中文版。
Mathematica的功能包括:[20]
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]。某些數據如股票價格和天氣數據都是實時遞送的。目前數據集包括:
Mathematica的產生是基於Cole和Wolfram早期的符號操作程序(SMP)的創意。[64][65]
Wolfram Research已經發布了如下Mathematica版本[66]:
|
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.