You can helpexpand this article with text translated fromthe corresponding article in German.(April 2020)Click [show] for important translation instructions.
|
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allowsmachine learning,statistics,symbolic computation, data manipulation, network analysis, time series analysis,NLP,optimization, plottingfunctions and various types of data, implementation ofalgorithms, creation ofuser interfaces, and interfacing with programs written in otherprogramming languages. It was conceived byStephen Wolfram, and is developed byWolfram Research of Champaign, Illinois.[8][9] TheWolfram Language is the programming language used inMathematica.[10] Mathematica 1.0 was released on June 23, 1988 inChampaign, Illinois andSanta Clara, California.[11][12][13] Mathematica's Wolfram Language is fundamentally based on Lisp; for example, the Mathematica command Most is identically equal to the Lisp command butlast. There is a substantial literature on the development of computer algebra systems (CAS).
![]() | |
Developer(s) | Wolfram Research |
---|---|
Initial release | June 23, 1988; 36 years ago (1988-06-23)[1] |
Stable release | 14.2.0 (January 23, 2025; 2 months ago (2025-01-23))[±][2] |
Written in | Wolfram Language,[3]C/C++,Java[4] |
Platform | Windows,[5]macOS,Linux (includes separated support for Raspbian onRaspberry Pi[6]), online service. All platforms support 64-bit implementations.[7](list) |
Available in | English, Chinese, Japanese |
Type | Computer algebra,numerical computations,information visualization,statistics,user interface creation |
License | Proprietary |
Website | www![]() |
Notebook interface
editMathematica is split into two parts: the kernel and thefront end. The kernel interprets expressions (Wolfram Language code) and returns result expressions, which can then be displayed by the front end.
The original front end, designed byTheodore Gray[14] in 1988, consists of anotebook interface and allows the creation and editing ofnotebook documents that can contain code, plaintext, images, and graphics.[15]
Code development is also supported through support in a range of standardintegrated development environment (IDE) includingEclipse,[16]IntelliJ IDEA,[17] Atom,Vim,Visual Studio Code andGit. The Mathematica Kernel also includes a command line front end.[18]
Other interfaces include JMath,[19] based onGNU Readline and WolframScript[20] which runs self-contained Mathematica programs (with arguments) from the UNIX command line.
High-performance computing
editCapabilities forhigh-performance computing were extended with the introduction ofpacked arrays in version 4 (1999)[21] andsparse matrices (version 5, 2003),[22] and by adopting theGNU Multiple Precision Arithmetic Library to evaluate high-precision arithmetic.
Version 5.2 (2005) added automaticmulti-threading when computations are performed onmulti-core computers.[23] This release included CPU-specific optimized libraries.[24] In addition Mathematica is supported by third party specialist acceleration hardware such asClearSpeed.[25]
In 2002,gridMathematica was introduced to allow user levelparallel programming on heterogeneous clusters and multiprocessor systems[26] and in 2008 parallel computing technology was included in all Mathematica licenses including support for grid technology such asWindows HPC Server 2008,Microsoft Compute Cluster Server andSun Grid.
Support forCUDA andOpenCLGPU hardware was added in 2010.[27]
Extensions
editAs of Version 14, there are 6,602 built-in functions and symbols in the Wolfram Language.[28] Stephen Wolfram announced the launch of the Wolfram Function Repository in June 2019 as a way for the public Wolfram community to contribute functionality to the Wolfram Language.[29] At the time of Stephen Wolfram's release announcement for Mathematica 13, there were 2,259 functions contributed as Resource Functions.[30] In addition to the Wolfram Function Repository, there is a Wolfram Data Repository with computable data and the Wolfram Neural Net Repository for machine learning.[31]
Wolfram Mathematica is the basis of the Combinatorica package, which adds discrete mathematics functionality in combinatorics and graph theory to the program.[32]
Connections to other applications, programming languages, and services
editCommunication with other applications can be done using a protocol called Wolfram Symbolic Transfer Protocol (WSTP). It allows communication between the Wolfram Mathematica kernel and the front end and provides a general interface between the kernel and other applications.[33]
Wolfram Research freely distributes a developer kit for linking applications written in the programming languageC to the Mathematica kernel through WSTP using J/Link.,[34] aJava program that can ask Mathematica to perform computations. Similar functionality is achieved with .NET /Link,[35] but with.NET programs instead of Java programs.
Other languages that connect to Mathematica includeHaskell,[36]AppleScript,[37]Racket,[38]Visual Basic,[39]Python,[40][41] andClojure.[42]
Mathematica supports the generation and execution ofModelica models forsystems modeling and connects withWolfram System Modeler.
Links are also available to many third-party software packages and APIs.[43]
Mathematica can also capture real-time data from a variety of sources[44] and can read and write to public blockchains (Bitcoin,Ethereum, and ARK).[45]
It supports import and export of over 220 data, image, video, sound,computer-aided design (CAD),geographic information systems (GIS),[46] document, and biomedical formats.
In 2019, support was added for compiling Wolfram Language code toLLVM.[47]
Version 12.3 of the Wolfram Language added support forArduino.[48]
Computable data
editMathematica is also integrated withWolfram Alpha, an onlineanswer engine that provides additional data, some of which is kept updated in real time, for users who use Mathematica with an internet connection. Some of the data sets include astronomical, chemical, geopolitical, language, biomedical, airplane, and weather data, in addition to mathematical data (such as knots and polyhedra).[49]
Reception
editBYTE in 1989 listed Mathematica as among the "Distinction" winners of the BYTE Awards, stating that it "is another breakthrough Macintosh application ... it could enable you to absorb the algebra and calculus that seemed impossible to comprehend from a textbook".[50] Mathematica has been criticized for being closed source.[51] Wolfram Research claims keeping Mathematica closed source is central to its business model and the continuity of the software.[52][53]
See also
edit- Comparison of multi-paradigm programming languages
- Comparison of numerical-analysis software
- Comparison of programming languages
- Comparison of regular expression engines
- Dynamic programming language
- Fourth-generation programming language
- Functional programming
- List of computer algebra systems
- List of computer simulation software
- List of information graphics software
- Literate programming
- Mathematical markup language
- Mathematical software
- WolframAlpha, a web answer engine
- Wolfram Language
- Wolfram SystemModeler, a physical modeling and simulation tool which integrates with Mathematica
- SageMath
References
edit- ^Wolfram, Stephen (23 Jun 2008),Mathematica Turns 20 Today, Wolfram, retrieved16 May 2012
- ^"Launching Version 14.2 of Wolfram Language & Mathematica: Big Data Meets Computation & AI". Retrieved2025-01-23.
- ^"Celebrating Mathematica's First Quarter Century". 23 June 2013. Retrieved11 August 2015.
- ^The Software Engineering of Mathematica—Wolfram Mathematica 9 DocumentationArchived 2017-07-29 at theWayback Machine. Reference.wolfram.com. Retrieved on 2015-03-23.
- ^"Mathematica 12 System Requirements and Platform Availability". Retrieved16 December 2020.
- ^Raspberry Pi Includes Mathematica for FreeArchived 2014-05-09 at theWayback Machine The Verge
- ^"Wolfram Mathematica". Retrieved11 August 2015.
- ^"Stephen Wolfram: Simple Solutions; The iconoclastic physicist's Mathematica software nails complex puzzles".BusinessWeek. October 3, 2005. RetrievedAugust 4, 2021.
- ^"Contact Wolfram Research". Retrieved11 August 2015.
- ^"Stephen Wolfram's new programming language: Can he make the world computable?".Slate Magazine. 6 March 2014. Retrieved11 August 2015.
- ^"Mathematica—Three Decades of Contributions, Invention, Discovery, and Education".www.wolfram.com. Retrieved2022-05-16.
- ^"Celebrating a Third of a Century of Mathematica, and Looking Forward—Stephen Wolfram Writings".writings.stephenwolfram.com. 22 October 2021. Retrieved2022-05-16.
- ^"There Was a Time before Mathematica…—Stephen Wolfram Writings".writings.stephenwolfram.com. 6 June 2013. Retrieved2022-05-16.
- ^Patent US8407580 Google Patent Search
- ^Hayes, Brian (1990-01-01)."Thoughts on Mathematica"(PDF).Pixel.Archived(PDF) from the original on 2014-07-15.
- ^"Wolfram intros Workbench IDE for Mathematica".Macworld. 21 June 2006. Archived fromthe original on 2 July 2006. Retrieved11 August 2015.
- ^"Mathematica plugin for IntelliJ IDEA".
- ^Using a Text-Based InterfaceArchived 2013-10-29 at theWayback Machine documentation at wolfram.com
- ^"JMath: A GNU Readline based frontend for Mathematica". Retrieved11 August 2015.
- ^"Directory listing". Retrieved18 April 2019.
- ^Math software packs new power; new programs automate such tedious processes as solving nonlinear differential equations and converting units by Agnes Shanley,Chemical Engineering, March 1, 2002.
- ^Mathematica 5.1: additional features make software well-suited for operations research professionalsArchived 2008-09-25 at theWayback Machine by ManMohan S. Sodhi,OR/MS Today, December 1, 2004.
- ^The 21st annual Editors' Choice AwardsArchived 2009-01-12 at theWayback Machine,Macworld, February 1, 2006.
- ^"Mathematica is tuned to take advantage of CPU features when available". Retrieved13 April 2020.
- ^"ClearSpeed Advance Accelerator Boards Certified by Wolfram Research; Math Coprocessors Enable Mathematica Users to Quadruple Performance". Archived fromthe original on 25 January 2016. Retrieved11 August 2015.
- ^gridMathematica offers parallel computing solutionArchived 2005-12-02 at theWayback Machine by Dennis Sellers,MacWorld, November 20, 2002.
- ^"CUDA and OpenCL support added in Mathematica 8". Retrieved13 April 2020.
- ^"The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica".writings.stephenwolfram.com. 9 January 2024. Retrieved2024-06-25.
- ^"The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language—Stephen Wolfram Writings".writings.stephenwolfram.com. 11 June 2019. Retrieved2022-05-16.
- ^"Launching Version 13.0 of Wolfram Language + Mathematica—Stephen Wolfram Writings".writings.stephenwolfram.com. 13 December 2021. Retrieved2022-05-16.
- ^"Launching the Wolfram Data Repository: Data Publishing that Really Works—Stephen Wolfram Writings".writings.stephenwolfram.com. 20 April 2017. Retrieved2022-05-16.
- ^Skiena, Steven (2003).Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Cambridge University Press.
- ^"Wolfram Symbolic Transfer Protocol (WSTP)".
- ^Mathematica 4.2Archived 2007-11-21 at theWayback Machine by Charles Seiter,Macworld, November 1, 2002.
- ^.NET/LinkArchived 2010-09-09 at theWayback Machine: .NET/Link is a toolkit that integrates Mathematica and the Microsoft .NET Framework.
- ^"mathlink: Write Mathematica packages in Haskell - Hackage". Retrieved11 August 2015.
- ^S.Kratky."MathLink for AppleScript". Archived fromthe original on 17 July 2011. Retrieved11 August 2015.
- ^"MrMathematica: Calling Mathematica from Scheme". Retrieved11 August 2015.
- ^"Mathematica for ActiveX - from Wolfram Library Archive". Retrieved11 August 2015.
- ^"erocarrera/pythonika".GitHub. Retrieved11 August 2015.
- ^"PYML (Python Mathematica interface) - from Wolfram Library Archive". Retrieved11 August 2015.
- ^"Clojuratica - Home". Clojuratica.weebly.com. Retrieved2013-08-16.
- ^"Wolfram Documentation: ServiceConnect". Retrieved4 August 2021.
- ^"Vernier and Mathematica". Archived fromthe original on 2019-05-29. Retrieved2017-09-12.
- ^"Working with blockchains". Retrieved15 April 2020.
- ^Mathematica 6 Labs ReviewArchived 2022-03-25 at theWayback MachineCadalyst Feb 1, 2008
- ^"Create LLVM code". Retrieved13 April 2020.
- ^"Launching Version 12.3 of Wolfram Language & Mathematica—Stephen Wolfram Writings".writings.stephenwolfram.com. 20 May 2021. Retrieved2022-01-29.
- ^"Scientific and Technical Data",Mathematic Guide, Wolfram Research, archived fromthe original on 10 May 2012, retrieved16 May 2012
- ^"The BYTE Awards".BYTE. January 1989. p. 327.
- ^"Paul Romer".paulromer.net. Retrieved2021-08-05.
- ^"Why Wolfram Tech Isn't Open Source—A Dozen Reasons—Wolfram Blog".blog.wolfram.com. 2 April 2019. Retrieved2021-08-05.
- ^"Six Reasons Why the Wolfram Language Is (Like) Open Source—Wolfram Blog".blog.wolfram.com. 30 November 2021. Retrieved2022-05-16.
External links
edit- Official website
- Mathematica Documentation Center
- A little bit of Mathematica history documenting the growth of code base and number of functions over time