General Questions About Mathematica:
The Basics:
Version 3.0:
History and context of Mathematica:
General Technical Questions:
---------------------------------------------------------------------------------------------------------
The Basics
Q1. What's the basic point of Mathematica?
A1. Mathematica is a fully integrated environment for technical computing--which means that it handles all aspects of technical computing projects. It does calculations, produces graphics, and provides interactive document capabilities to let you present your work. Mathematica incorporates the world's largest collections of computational algorithms--integrated into a coherent design that makes it easy for you to marshall whatever you need for calculations large and small. Top
Q2. What kinds of people use Mathematica?
A2. A huge variety--from the world's leading researchers to ten year olds to anyone who needs to do calculations of any kind. Mathematica first became popular in the physical sciences, engineering, and mathematics. But now there are over a million users of the system around the world in a remarkable variety of fields--life sciences, social sciences, financial analysis, medical research, computer science, management science, education, and many others. Mathematica has been used in discovering major new scientific results and in creating major new engineering products. Top
Q3. Is Mathematica mainly for doing math?
A3. Not really--at least not the way most people think of math. Mathematica is widely used by mathematicians, but mathematicians make up only a few percent of all the users of Mathematica. Probably 80% of the users of Mathematica are doing some kind of quantitative work and are making use of math in some way or another. But very few of them would describe what they're doing as "doing math." (The other 20% of Mathematica users are doing a huge assortment of things: creating graphics, prototyping computer systems, generating interactive documents, etc.). Top
Q4. How easy is it to use Mathematica?
A4. If you can use a calculator, then you'll find it easy to get started using Mathematica 3.0. You just type in questions, and Mathematica gives you the answers. There are palettes with buttons you can click to do common operations. Mathematica also lets you use traditional math notation. And, if there's a function or button you want to know more about, simply ask the online Help Browser. Top
Q5. How much does Mathematica cost?
A5. It depends on how many copies you're getting, what kind of computer they're for, and what level of service you select. Special corporate and educational discounts are also available. Contact info@timberlake.co.uk for more information.
Top
---------------------------------------------------------------------------------------------------------
Version 3.0
Q1. What's new in Version 3.0?
A1. Many things. Version 3.0 both greatly strengthens the functionality that existed in previous versions of Mathematica and adds some major new functionality. It's easier to use, and it performs computations faster. But perhaps the flashiest new functionality revolves around the idea of using the Mathematica symbolic programming language as the basis for the Mathematica notebook interface. This lets Mathematica have live math in traditional notation and have user-buildable palettes and other active elements. It also lets whole notebook documents be created and manipulated easily by programs. But this functionality is definitely not the only important new thing in Version 3.0--in fact, there are more than 250 new functions and other enhancements. Top
Q2. Why has it taken so long for Version 3.0 to come out?
A2. Basically because it's a very big thing, and we've worked very hard to do right what we've done. Some parts of Version 3.0 have been ready for as long as four years, but we wanted to wait until the whole system was really finished before releasing it. The new, more modularised software architecture of Version 3.0 will make it considerably faster for us to bring out new versions in the future. Top
Q3. Is Version 3.0 compatible with earlier versions?
A3. Yes. The Mathematica language is fully compatible, and Mathematica notebook documents can automatically be translated. Any Mathematica program, or any Mathematica notebook, even from Mathematica 1.0, should work with modification in Mathematica 3.0. There are a few tiny incompatibilities, not likely to affect more than one in ten thousand programs, that were introduced to prevent minor design errors in earlier versions of Mathematica from being carried forward indefinitely. Top
--------------------------------------------------------------------------------------------------------
History and Context of Mathematica
Q1. Where did Mathematica come from?
A1. Mathematica is the creation of Stephen Wolfram, a well-known scientist who has made many contributions to physics, mathematics, and computer science. Wolfram started developing software for scientific computing in the late 1970s, but he did not begin the development of Mathematica until 1986. Shortly before developing Mathematica, Wolfram received wide acclaim for his work on cellular automata and complexity. In 1986, however, he decided to leave academia (he had recently moved from the Princeton Institute for Advanced Study to become Professor of Physics, Mathematics, and Computer Science at the University of Illinois) and to found Wolfram Research, Inc., the company that developed Mathematica. Top
Q2. Isn't a special-purpose system always better for its purpose than a general one?
A2. No. It's a bit like the computer hardware business--though more so. In computer hardware there used to be lots of special-purpose computers. But generic microprocessors became wildly more successful--even for special-purpose tasks. The reason is that much more effort can be invested in a general-purpose system--and that's exactly what's happened with Mathematica. It not only covers a huge range but also has breakthrough algorithms in every area that it covers. Top
---------------------------------------------------------------------------------------------------------
General Technical Questions
Q1. How fast is Mathematica?
A1. In most areas, Mathematica is extremely well optimised. In fact, it routinely beats custom C code--mainly because it is using much more sophisticated algorithms. You can think of Mathematica as having built-in functions that cover certain common chunks of computational functionality. Once you're inside a chunk (such as, say, eigenvalues), Mathematica will go as fast as anything else--and often faster. But if you have lots of separate chunks, the generality of Mathematica can potentially slow it down since it has to do a lot of checking between each chunk. Version 3.0, however, has a sophisticated compiler that makes even these kinds of computations go spectacularly fast when the only objects involved are numbers. Top
Q2. Why are the names of built-in functions capitalised?
A2. For much the same reason as proper names in English are capitalised--to set them apart easily. It makes Mathematica programs much easier to read, and it gives people safety in using whatever lowercase names they want for their own objects. A classic problem that arises if one doesn't split "name space" like this is the following:
You have a program that uses variables ia, ib, and ic. That's fine. But now you also use id, ie, and if. But whoops, if is an "if" statement. That's why in Mathematica the name of this function is capitalised and written If.
Top
Q3. Why are the names of functions so long?
A3. It's to make sure they're all consistent--so you can easily remember or guess a name without always having to look it up. You can use a palette, make your own definition, or use Mathematica's built-in command completion feature to save typing if you want. But the important point is that you don't have to spend time looking up a name--and it's a lot faster to type a few extra letters than to look something up. Another point is that having long, explicit names for things makes it much easier to read Mathematica programs. Top
Q4. Can I interface Mathematica to my existing programs?
A4. Yes, and it's surprisingly easy. There's a general system called MathLink for connecting Mathematica to external programs. If you just want to call functions in an external C or other program, you can typically set it by using a simple MathLink template file. You can exchange more complicated data--of absolutely arbitrary structure--using the MathLink library, which contains routines for handling arbitrary data. Top
Q5. Is Mathematica networkable?
A5. Definitely. The front end, which provides the user interface, is a separate software component from the kernel, which actually does computations. It's very common for people to run the front end and the kernel on separate computers across a network. All Mathematica kernels and Mathematica front ends are completely compatible. Top
Q6. What is Mathematica like inside?
A6. Mathematica is one of the largest and most sophisticated application programs ever created. It's written in a combination of C and the Mathematica language itself, and it's now nearly a million lines of code. Its software architecture is highly modular--it consists of several pieces connected through the general MathLink communication system. Top
Q7. Are there parallel versions of Mathematica?
A7. The MathLink communication protocol makes it easy for multiple Mathematica kernels on the same computer or different computers to communicate and work together in doing calculations. Very few of the core algorithms of Mathematica would benefit from present-day approaches to parallelism. Mathematica was, however, being used experimentally as the interface language to massively parallel computers such as the Thinking Machines Connection Machine before the massively parallel computing industry collapsed. Top
Q8. Are the algorithms used by Mathematica published?
A8. The Mathematica Book summarises the major algorithms that are used in Version 3.0. Of course, in the half million lines of source code that make up Mathematica, there are a great many details that can't be summarised easily. Wolfram Research technical support can usually provide further information on particular algorithms if needed. In addition, many of the mathematical algorithms for Mathematica are written in the Mathematica language, and Wolfram Research makes the Mathematica code for these available to researchers. Top
Q9. How well is Mathematica tested?
A9. Certainly better than the vast majority of published mathematical "theorems." For example, every new version of Mathematica is subjected to a huge battery of tests that use a number of innovative testing technologies pioneered by Wolfram Research. Millions of examples, including complete books of tables, textbooks, etc., are used. In the computer industry, Mathematica is viewed as a standard for reliability, and many major companies specifically test their products against Mathematica. Top
Q10. Is there a published list of bugs in Mathematica?
A10. For each new version of Mathematica released, there is a list of bugs that have been fixed. Between versions no explicit list of bugs is published. The reason is that, until the end of a release cycle, no final determination has been made that a particular reported problem is in fact a bug. For example, what should Log[0] return? Someone might file a problem report claiming that it should be unevaluated. But someone else might claim it should be -Infinity. Working out which is correct requires careful overall review--and overall review is not possible until one can see the whole proposed release. Nevertheless, if registered users want to know whether any problem reports have been filed about a particular issue, Wolfram Research technical support is able to query an internal database to determine this. Top
Q11. What can I do if I encounter a bug?
A11. In almost all cases, Mathematica is flexible enough for you to easily implement a work-around. In fact, Mathematica even lets you redefine most of its built-in functions to do whatever you want--correct or incorrect. Sometimes Wolfram Research technical support will be able to send you a new software module to correct a problem. Generally this is avoided since patches like this cannot be tested as fully as complete releases of Mathematica can. Top
Back to Mathematica Home