# Mathematica's hidden abilities: Music, programming and visualizations

+ 2

Posted May 13 2010 04:56 AM

I'll admit I know almost nothing about Mathematica. I've heard of it, certainly. I tinkered with it a few times, too. But until I spoke with Sal Mangano, author of the "Mathematica Cookbook," I assumed Mathematica's utility was limited to scientists and engineers (of which I am neither). As you'll see, I was wrong.

Below, Mangano reveals three lesser-known facts about Mathematica.

1. Mathematica makes music

Sal Mangano: Mathematica has an audio and sound processing API that allows you to synthesize music, analyze music, and do transformations on audio files. Audio is treated like a first-class Mathematica object that you can manipulate with the language. It's amazing to see how you can synthesize different types and styles of music algorithmically.

2. Mathematica is a programming language (with a learning curve)

Sal Mangano: A lot of people don't realize this, but Mathematica is a complete programming language.

It can be used in different modes. One mode is symbolic, so you can write integrals and summations and all of the mathematical notation that a mathematician or an engineer is familiar with. But underneath, you're also writing a program.

Really, you're learning a programming language. A lot of people who approach Mathematica aren't programmers, though. They just want to get something done. And they might do programming secondarily because it's necessary. Mathematica presents them with an unfamiliar programming paradigm and slightly different syntax. So these things all combine to create a challenge.

3. Mathematica is visual

Sal Mangano: You might be developing an algorithm that takes data and produces some value. You ask yourself: "Is this function correct? Is it behaving?" So you want to see its shape. You use "Plot," give it your function and give it the data range, and you get a plot.

Mathematica's plot function is advanced, and you can really tweak the presentation. Any beautiful graph you can create in Excel or other packages, you can do with Mathematica. Or, if you're just testing a one-off thing that you want to visualize, you can do it.

Mathematica has so many different types of plots; you can create histograms, 3-D plots and scatter plots. No matter what type of function or algorithm you're creating, there's probably some way to visualize it. It changes your behavior because once you know how to use these visualizations, relying on them become habit. It opens the visual channel.

Tags:
0