Jump to content

Mathematica's hidden abilities: Music, programming and visualizations

+ 2
  macslocum's Photo
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.

Attached Image


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.


Mathematica Cookbook

Learn more about this topic from Mathematica Cookbook.

Mathematica Cookbook helps you master the application's core principles by walking you through real-world problems. Ideal for browsing, this book includes recipes for working with numerics, data structures, algebraic equations, calculus, and statistics. You'll also venture into exotic territory with recipes for data visualization using 2D and 3D graphic tools, image processing, and music.

See what you'll learn


Tags:
0 Subscribe


1 Reply

 : May 16 2010 03:44 PM
The Mathematica demonstrations project ( http://demonstrations.wolfram.com/ ) allows non-owners of Mathematica to run canned mathematica programs. Anyone can download the demonstrations package for PC, Mac and Linux, and there are hundreds of demonstration programs available.

If you have a difficult concept to convey to an audience, you can create a demonstration program to convey those ideas to your audience. The full-blown mathematica tools -- including the visualization tools -- are available for you to use in your programs. The best way to see this is to download the demonstrations engine and browse through the available demonstrations.

My main complaint: many of the demonstrations were designed 4-5 years ago; few tap into the vast computational resources available in current personal computers.