Mathematica Professional 8.0

Usability

Usability is not only about getting a result quickly and easily, but getting the right result every time. Automation and careful design, alongside broad but deep capabilities, are key to Mathematica's practical, long-term usability.

Task-oriented functions

Often you know the task you want performed, but not the best method for computing it. That's why Mathematica functions are called up by task (e.g., Solve) and pick the best method(s) automatically--dramatically improving consistency, reliability, and accessibility to powerful capabilities.

Mathematica's task-oriented superfunctions (TOSF) each subsume the functionality of a large number of algorithm-based functions in non-Mathematica systems.

Unlike all other computation systems, Mathematica's functions are "task-oriented"--named by which task they perform, not which algorithm(s) they use to perform them.

This distinction particularly affects high-level, multistage, multialgorithm tasks, handled by "superfunctions" in Mathematica. Take numerical differential equation solving as an example. In Mathematica, NDSolve is all you need to use. Applying this TOSF analyzes your equation and decides (unless you set an override) which of its dozens of algorithms and controller methods to deploy to get you an accurate answer quickly--sometimes switching mid-calculation for further optimization.

By contrast, non-Mathematica computation systems make you analyze your equation manually to determine which function to apply--e.g., where in Mathematica you use NDSolve, in Matlab you must choose among ode45, ode23, ode113, ode15s, bvp4c, pdepe, and so on. Get the selection wrong and your computation could run inefficiently, fail altogether, or, worse still, produce an inaccurate answer. And there's no switching mid-calculation.

Another crucial benefit of the TOSF approach is future-proofing: algorithmic innovations enable TOSF to perform better without the form of the input or output being affected. Compatibility is therefore maintained while having the latest computational technology under the skin.

Document-centered interface

Mathematica's interface is based around documents, so that all elements--calculation, visualization, documentation, and even interactive applications--can be kept together and managed in one place.

One system: one design

Mathematica is highly coherent because every aspect--e.g., functions, graphics, notebooks, I/O, typesetting, interface elements, etc.--is represented with the same symbolic function paradigm. Additionally it's built as an all-in-one system, not as separate modules for you to piece together.

Dynamic type handling

Mathematica automates type handling, assigning Integer, Real, Symbol, Text, etc. to incoming data, making it quick to work with and reliable for different cases.

Automatic aesthetic control

The look of all output in Mathematica is controlled to maximize the efficiency with which you can understand patterns or trends--a crucial factor with the increasing volume of data and complexity of models employed.

Automatic aesthetic control

Active documentation, including 100,000 examples

Mathematica documentation and all 100,000 examples are provided as notebooks. All in-product examples are immediately executable and modifiable, while examples on the web contain copyable popups and tiny URLs for direct linking.

Instantly interactive

Building an interactive model or simulation in Mathematica is as easy as making a static one. Just specify the parameters you'd like to vary and the ranges of possible values you'd like to test, and Mathematica instantly builds an interface with the best control elements automatically wired up.

 

Consistent design and naming: everything fits together

From ubiquitous symbolic representation to function naming, everything is consistent and coherent across Mathematica--allowing familiarity with one part of the system to immediately translate to the usability of a broad range of capabilities.

  • Graphics and user interfaces can appear directly in flowing text, with full editability.
  • Graphics can contain arbitrary active elements, controls, etc.
  • Controls can use graphics, other controls, etc. as labels and values.
  • Graphics, text, controls and other elements can be arbitrarily nested.
  • Automatic context-sensitive graphics sizing.
Make Lists of Graphics
Treat Active Interface Elements Just like Text
Include Graphics Directly in Programs

Include Graphics Anywhere in an Expression
Use Graphics Anywhere in Controls
Put Active Interface Elements into Graphics

   
Use Graphical Forms Directly in All Operations

 

Rate this page
Comment