Mathematica Basics

 
 

Mathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing. It was conceived by Stephen Wolfram and is developed by Wolfram Research of Champaign, Illinois.


The name of the program "Mathematica" was suggested to Stephen Wolfram by Apple co-founder Steve Jobs although Stephen Wolfram had thought about it earlier and rejected it.


Mathematica is split into two parts, the kernel and the front end. The kernel interprets expressions (Mathematica code) and returns result expressions.

The front end, designed by Theodore Gray, provides a GUI, which allows the creation and editing of Notebook documents containing program code with prettyprinting, formatted text together with results including typeset mathematics, graphics, GUI components, tables, and sounds. All contents and formatting can be generated algorithmically or interactively edited. Most standard word processing capabilities are supported, but there is only one level of "undo."


Documents can be structured using a hierarchy of cells, which allow for outlining and sectioning of a document and support automatic numbering index creation. Documents can be presented in a slideshow environment for presentations. Notebooks and their contents are represented as Mathematica expressions that can be created, modified or analysed by Mathematica programs. This allows conversion to other formats such as TeX or XML.

The front end includes development tools such as a debugger, input completion and automatic syntax coloring.


In recent years, the capabilities for high-performance computing have been extended with the introduction of packed arrays (version 4, 1999) and sparse matrices (version 5, 2003), and by adopting the GNU Multi-Precision Library to evaluate high-precision arithmetic.

Version 5.2 (2005) added automatic multi-threading when computations are performed on multi-core computers. This release included CPU specific optimized libraries. In addition Mathematica is supported by third party specialist acceleration hardware such as ClearSpeed.


In 2002, gridMathematica was introduced to allow user level parallel programming on heterogeneous clusters and multiprocessor systems and in 2008 parallel computing technology was included in all Mathematica licenses including support for grid technology such as Windows HPC Server 2008, Microsoft Compute Cluster Server and Sun Grid.

Support for CUDA and OpenCL GPU hardware was added in 2010. Also, version 8 can generate C code, which is automatically compiled by a system C compiler, such as Intel C++ Compiler or compiler of Visual Studio 2010.


Several solutions are available for deploying applications written in Mathematica:


  1. BulletMathematica Player Pro is a runtime version of Mathematica that will run any Mathematica application but does not allow editing or creation of the code.

  2. BulletA free-of-charge version, Wolfram CDF Player, is provided for running Mathematica programs that have been saved in the Computable Document Format (CDF). It can also view standard Mathematica files, but not run them. It includes plugins for common web browsers.

  3. BulletwebMathematica allows a web browser to act as a front end to a remote Mathematica server. It is designed to allow a user written application to be remotely accessed via a browser on any platform. It may not be used to give full access to Mathematica.

  4. BulletMathematica code can be converted to C code or to an automatically generated DLL.


Mathematica includes collections of curated data in a consistent framework for immediate computation. Data can be accessed programmatically to inform or test models and is updated automatically from a data server at Wolfram Research. Some data such as share prices and weather are delivered in real-time. Data sets currently include:


  1. BulletAstronomical data: 99 properties of 155,000 astronomical bodies

  2. BulletChemical data: 111 properties of 34,000 chemical compounds, 86 properties of 118 chemical elements and 35 properties of 1000 subatomic particles

  3. BulletGeopolitical data: 225 properties of 237 countries and 14 properties of 160,000 cities around the world

  4. BulletFinancial data: 71 historical and real-time properties of 186,000 shares and financial instruments

  5. BulletMathematical data: 89 properties of 187 polyhedra, 258 properties of 3000 graphs, 63 properties of 6 knots, 37 properties of 21 lattice structures, 32 properties of 52 geodesic schemes

  6. BulletLanguage data: 37 properties of 149,000 English words. 26 additional language dictionaries

  7. BulletBiomedical data: 41 properties of all 40,000 human genes, 30 properties of 27,000 proteins

  8. BulletWeather data: live and historical measurements of 43 properties of 17,000 weather stations around the world

  9. BulletWolfram|Alpha data: trillions of data points from WolframAlpha


(from Wikipedia)

Welcome to Professional Tools Seminar - Mathematica Basics