May 29, 2007 — Theodore Gray, Cofounder, Wolfram Research, Inc; Founder, Touch Press

Sometime rather alarmingly late in the Mathematica 6 release cycle it started to emerge that Stephen had a bunch of people working on an insane idea: including in Version 6 an entirely new set of features never before considered and definitely not on the release plan. Somehow this didn’t surprise anyone.

It was to be a system whereby people could access large amounts of useful data by way of simple function calls inside Mathematica, with those calls automatically going off to our servers to get updated information, or even real-time feeds like current stock prices. Needless to say, none of the server- or client-side technology to make this possible existed, but hey, it sounded like a good idea.

It turned out to be a very good idea.

Read More »

May 24, 2007 — Eric Weisstein, Senior Researcher, Wolfram|Alpha Scientific Content

Viewers of prime-time television are likely quite familiar with police chases, blood-stained bodies and massive explosions that rock objects of all shapes and sizes (including houses, cars and buildings). What they may be less familiar with is a protagonist whose job title is “math professor” and who uses crime investigation techniques that delve deeply into mathematical concepts and equations.

Nevertheless, that’s exactly what they are likely to find on the CBS Paramount television crime drama NUMB3RS, which airs at 10pm US Eastern on Fridays—and which last week completed its third season on air. NUMB3RS has received widespread acclaim not only from television viewers (who have made it Friday night’s most popular show for three seasons running), but also from mathematicians and professional societies (who hail its positive portrayal of scientists and their use of science and in particular mathematics for the public good).

Even before the show first premiered in January 2005, a group of researchers at Wolfram Research (a team that now includes colleagues Michael Trott, Ed Pegg, Amy Young and me) has been part of the core group of advisers who assist with all aspects of the mathematics in the show. Our role runs the gamut from suggesting new ideas to improving detailed mathematical content to preparing formulas, figures and animations. And, somewhat surprisingly to us, many of our comments and suggestions actually ultimately appear (in some form) on air!

Mathematica Spikey on NUMB3RS

Screen capture from NUMB3RS, which debuted January 23, 2005, on CBS.
NUMB3RS is © 2007 CBS Broadcasting Inc. Note the Mathematica Spikey in the lower-left corner.

Read More »

May 22, 2007 — Michael Trott, Chief Scientist, Wolfram|Alpha Scientific Content

In 1992, while teaching at the Technical University of Ilmenau, I gave a three-semester course on the use of Mathematica. I am a theoretical physicist by training, so the graphics component was just one of the not-so-important parts of the system for me at the time. Calculating integrals and minimizing functions for many-parameter variational wave functions of semiconductor nanostructures in very high magnetic fields was much more on my mind.

But the students asked me to cover graphics in depth too, so I did. The cover picture of the Mathematica 2 book had a hyperbolic dodecahedron on it (the Version 1 book has a graphic of the Riemann zeta function along the critical strip).

Mathematica 2 spikey
The hyperbolic dodecahedron is quite symmetric and has the same symmetry group as a regular dodecahedron. It has a natural 120-fold symmetry (12 equivalent faces, each being a pentagon made from 10 equivalent pieces). Each one-tenth of a face just has a few polygons. By using the full symmetry group of the dodecahedron, constructing the tesselation used on the cover was relatively easy.

Starting with a regular dodecahedron with appropriately subdivided faces, one just has to extend the vertices outwards (or press the face centers inwards) to obtain a hyperbolic dodecahedron. I showed the construction in the lecture (a nice mixture of geometry, matrix algebra, equation solving and graphics itself).

Little did I know at that time that the force of the hyperbolic dodecahedron would be with me for the next 15 years.

Read More »

May 17, 2007 — Theodore Gray, Cofounder, Wolfram Research, Inc; Founder, Touch Press

I’ve been a “professional” user-interface programmer for 20 years. In that time I’ve written a grand total of three little apps just for the fun of it. Two of them I snuck in as hidden buttons in the Mathematica About Box, because it was just too difficult to start a new application from scratch. All of them can be replicated in a few minutes using Version 6.

In my experience, writing GUI (graphical user interface) applications in C or Java or Visual Basic—or whatever—is fine if you plan to spend weeks or months on a program, but prohibitively horrible if you really only have a few minutes to dedicate to the task.

You have to allocate windows, store pointers to them, then allocate controls or read them from some kind of resource file, store pointers to them, blah, blah, blah. It might be two or three pages of code before you can even start thinking about what this program is actually supposed to do.

Cocoa and other such frameworks make it marginally easier. I enjoyed programming in NeXTSTEP (which is what Cocoa was called before Apple took over NeXT). It’s the environment in which I wrote RealTimeAlgebra in 1989, the one just-for-fun app I wrote not as an About Box button. (RealTimeAlgebra was basically what we now call Manipulate.)

But it is still a pain. Instead of starting by writing pages of code to deal with windows, you start by using an annoying graphical tool to lay out controls and define who is connected to whom. Then you get to write pages of code defining the actions of all these controls before you can start working on the actual content.

Read More »

May 14, 2007 — Stephen Wolfram

It is perhaps ironic that two weeks after releasing what is probably the single most complex computational system ever constructed, we are today announcing a prize for the very simplest of computational systems.

But today is the fifth anniversary of the publication of A New Kind of Science, and to commemorate this, we have decided to establish the first NKS prize.

The prize is related to a core objective of the basic science of NKS: to map out the abstract universe of possible computational systems.

We know from NKS that very simple programs can show immensely complex behavior. And in the NKS book I formulated the Principle of Computational Equivalence that gives an explanation for this discovery.

That principle has many predictions. And one of them is that the ability to do general-purpose computing—to be capable of universal computation—should be common even among systems with very simple rules.

Today’s CPUs have millions of components. But the Principle of Computational Equivalence implies that all kinds of vastly simpler systems should also support universal computation.

The NKS book already gives several dramatic examples. But the purpose of the prize is to determine the boundary of universal computation for a particularly classic type of computational system: Turing machines.

Read More »

May 14, 2007 — Stephen Wolfram

New technology is often what has driven the creation of new science. And so it has been with Mathematica.

One of the main reasons I originally started building Mathematica was that I wanted to use it myself.

And having Mathematica was a bit like having one of the first telescopes: I could point it somewhere, and immediately see all sorts of new things that had never been seen before.

Much has been discovered with Mathematica in almost every area of science.

But my particular interest has been to create a new kind of science that is uniquely made possible by Mathematica: a science based on exploring the computational universe.

We are used to creating computer programs for particular purposes. But as a matter of basic science we can ask about the universe of all possible programs.

And with Mathematica it becomes easy to explore this.

A quarter of a century ago I had begun my exploration of the computational universe—and had glimpsed some remarkable phenomena.

Then, when Mathematica was built, I went back and started a systematic study of the computational universe.

The results were remarkable. Wherever I looked—even among the simplest of programs—I saw all sorts of complex and interesting behavior. And from what I found I could make progress on a remarkable range of longstanding questions across all sorts of areas.

For eleven years I worked to develop this. And finally, on May 14, 2002, I published what I had done in my book A New Kind of Science.

Today is the fifth anniversary of that event.

Read More »

May 13, 2007 — Kovas Boguta, Special Projects Group

Symbolic programming has been a core idea in Mathematica since the very beginning. But it is a big idea and an abstract idea. And people understandably just want to know what the bottom-line benefit is, and could care less about what went into making it happen. Fortunately, Mathematica 6 is making it a lot easier to illustrate ideas about symbolic computation in visual and interactive forms.

High-Level Functions

For starters, illustrating the core programming primitives with visual examples is a piece of cake with the new graphics and typesetting functions. For example, Map will take a function and apply it to each element in a list:

In[1]:= Map[Framed, {a, b, c, d, e}]  |  Out[1]:= {[a], [b], [c], [d], [e]}

NestList will take a function and apply it over and over again to the initial seed, returning a list of all the iterations:

In[2]:= NestList[Magnify, a, 4] | Out[2]:= {a, a, a, a, a}

Programming in Mathematica is based on transforming trees. The built-in function TreeForm allows us to visually represent the tree backbone of Mathematica programs and data structures:

In[3]:= TreeForm[a+b^2+c^3+d] | Out[3]/TreeForm:= Plus a Power Power d b 2 c 3

Read More »

May 11, 2007 — Conrad Wolfram, Strategic Director, European CEO/Cofounder, Wolfram Research

Slipped in quietly alongside Mathematica 6’s release is the start of another profound development: Mathematica Player. At the moment, Player is just the way to run Demonstrations and read Mathematica notebooks, but in the near future it will be much, much more.

Good things usually have a good reason to do them. Player has at least three.

The first push came from asking where to take MathReader when Mathematica 6 shipped. MathReader has long been the free way to view Mathematica notebooks—in a sense the technical Adobe (Acrobat) Reader that handled Mathematica’s typeset math, cell hierarchy, graphics, animations and even sound (usually of the weird function-based variety!). In the end, though, it was just a “dead” viewer.

For a number of years we’d known that “instant interactivity” would be central to Mathematica 6. So, why not make the accompanying MathReader the way to “view” this interactivity? After all, Mathematica was coming alive. Why shouldn’t MathReader too—in the role of a player or runtime for these newly dynamic notebooks?

Read More »

May 10, 2007 — Jon McLoone, Director, Technical Communication & Strategy

Wolfram Research is a place where “eating your own dogfood” is part of the culture. Most of us use Mathematica for our routine office administration tasks, documents, presentations, sales forecasting, etc.

I have been using Mathematica to analyze international sales data for 15 years now. It was through this activity that I think I can stake the claim to being the first real practical professional user of the new CountryData function.

It was time to present an analysis of sales figures at our annual Wolfram Reseller Conference in April to help our distributors understand where they are doing well and where they need to improve.

Comparing sales is difficult when one distributor has a large territory like Germany, and another a relatively small one like Romania. A couple of years ago, I started using economic gross domestic product (GDP) of the territory as a scale, but it is a pretty blunt tool—one might expect a small industrialized economy to outperform a large agricultural one.

This year, a new tool was in my hands: Mathematica 6.

Read More »

May 8, 2007 — Michael Pilat, Senior Software Engineer, Algorithms R&D

Well, Mathematica 6 has only been out a week, and I’m happy to announce that we’ve already released an update! What’s better, you probably already have it if you use Mathematica 6!

How is that possible?

After exploring the What’s New website, you might have noticed the page for Load-on-Demand Curated Data, which says our “efficient load-on-demand mechanism makes hundreds of gigabytes of carefully curated and continually updated data immediately available inside Mathematica for use in computations.”

We’ve done a lot of work to aggregate data in a variety of disciplines, from chemistry to graph theory, geography to linguistics. This data is collected from a broad range of sources and processed both automatically and by knowledgeable experts here at Wolfram Research, with the goal of providing data that is consistent, computable and accurate.

How is this data delivered to you? At first, you might guess it’s shipped along with the many other features of the product. But the box doesn’t have a dozen CDs in it and there’s only a single download from our online store. That’s because Mathematica itself automatically downloads the data it needs, when it needs it.

Read More »