Theodore Gray
Computable Data Functions: A Crazy Idea That Just Works
May 29, 2007
Theodore Gray, Co-founder, Director of User Interfaces

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.

More »

Eric Weisstein
The Math(ematica) behind Television’s Crime Drama NUMB3RS
May 24, 2007
Eric Weisstein, Senior Researcher

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 U.S. 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 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.

More »

Michael Trott
Making the Mathematica 6 Spikey
May 22, 2007
Michael Trott, Senior Researcher

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.

More »

Theodore Gray
Why Spend More Than Five Minutes on a GUI?
May 17, 2007
Theodore Gray, Co-founder, Director of User Interfaces

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.

More »

Stephen Wolfram
Today We Put a Prize on a Small Turing Machine
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.

More »

Stephen Wolfram
Five Years of A New Kind of Science
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.

More »

Kovas Boguta
Symbolic Programming Visualized
May 13, 2007
Kovas Boguta, Special Projects Group

Symbolic programming has been a core idea in Mathematica since the very beginning. But it is 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

More »

Conrad Wolfram
Mathematica Player: So Much More Than Just the New MathReader
May 11, 2007
Conrad Wolfram, Director of Strategic & International Development

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?

More »

Jon McLoone
Eating Your Own Dogfood
May 10, 2007
Jon McLoone, International Business & Strategic Development

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.

More »

Michael Pilat
Computable Data–Already Updated in Mathematica
May 8, 2007
Michael Pilat, Software Technology

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.

More »

Joe Bolte
Illuminating Ideas: The Wolfram Demonstrations Project
May 4, 2007
Joe Bolte, Manager, The Wolfram Demonstrations Project

Now that Mathematica 6 is out, I can finally talk about an amazing site we’ve built with it–The Wolfram Demonstrations Project.

The Demonstrations Project is a collection of interactive visualizations made using Mathematica 6. You can preview the Demonstrations on the web and download them to run in Mathematica or the free Mathematica Player.

We began the project last year, when Stephen Wolfram realized that the dynamic capabilities we were building into Mathematica 6 would allow users to create and share new interactive content much faster than ever before.

From an initial seed of a few dozen, the site has already grown to almost 1,300 Demonstrations, with more pouring in each day. And if you have Mathematica 6, making your own Demonstrations is as easy as completing and uploading an authoring notebook. Any Mathematica 6 user can participate.

The Demonstrations are all open-code, so you can even see how each one is built (usually with just a few short lines of Mathematica).

Take a few moments to explore the site. It’s grown so much that even someone like me–who works on it full time–is constantly surprised by what’s there. It has everything from interactive addition tables to molecular models and more.

about_img.gif
Explore 3D graphics. Watch calculus being done. Create your own computer-generated art.

I can’t wait to see how the new methods of education, research, and collaboration that the site enables take form in this exciting publishing medium. The site’s features and the collection of Demonstrations that you’ll find there now are just the beginning.

I hope you enjoy what we’ve made, and that you’ll let us know any ideas you have about it.

Stephen Wolfram
Today, Mathematica Is Reinvented
May 1, 2007
Stephen Wolfram

Mathematica 1.0 was released on June 23, 1988—now nearly 19 years ago. And normally, after 19 years, pretty much all one expects from software products is slow growth and incremental updates.

But as in so many things, Mathematica today just became a big exception.

Some people have said that Mathematica 6.0 shouldn’t even be called “Mathematica” at all. That it’s something so qualitatively new and different that it should be given a completely different name.

Well, perhaps I’m just too sentimental. Or too steeped in history. Or too naive about branding. But to me there’s no choice. We owe it to all the foundations we’ve laid these past twenty years to still call what we’ve built today “Mathematica.”

Realistically, I think it took us ten years after Mathematica 1.0 just to realize what a powerful thing we had in Mathematica.

We’d always talked about “symbolic programming,” and how it let us unify a lot of different ideas and areas. But sometime around the mid-1990s it began to dawn on us just what an amazing thing symbolic programming actually is.

And we began to think that there might be a whole new level one could reach in computing if one really did everything one could with symbolic programming.

Well, that was an intellectual challenge we couldn’t resist. So about ten years ago, we embarked on seeing just what might be possible.
More »

Welcome to the Wolfram Blog
May 1, 2007

We move fast at Wolfram Research. Just today, we’re launching a radically new version of Mathematica, going live with a major new interactive website, and have completely redesigned our entire web presence.

With so much going on—not to mention all that’s in the pipeline for the future—we want to have a quick and easy way to keep you current on our latest advances.

Enter the Wolfram Blog.

Starting today, you’ll be able to get important insights from the front lines at Wolfram Research. Our developers, researchers, and other employees from our offices around the world—all giving you rare access to what goes on behind the scenes. All in addition to the regular announcements you’ll find in MATHwire and on our News & Events page.

What goes into making Mathematica? Where is our technology headed? And what does it all mean for the future?

We’ll try to answer those questions and give you an inside look at many of Mathematica’s latest features and enhancements.

So stay tuned. Subscribe to the feed. Send us an email, and let us know what you think or if you have any insights that you think we should share.