July 11, 2012 — Wolfram Blog Team

As a PhD candidate in civil engineering, Diego Oviedo-Salcedo needed a computational environment that he could use to not only explore the abstract concepts within his civil engineering research, but also to present and communicate his findings to his advisor, peers, and decision-makers. His solution: Mathematica.

Mathematica‘s enhanced built-in statistical analysis capabilities allow Oviedo-Salcedo to instantly test different ideas and methods related to assessing the impact of uncertain physical and hydrological sources on river and aquifer interactions.

In addition, Mathematica‘s easy-to-author interactivity helps him communicate his results with dynamic models—a feature that’s proven to be eye-opening within his department.

Read More »

May 7, 2012 — Wolfram Blog Team

It’s been one year since we launched our Twitter feed for bite-sized Mathematica hints and tips!


Thousands of people follow @MathematicaTip to get a new tip every day, Monday through Friday, covering everything from keyboard shortcuts:

Read More »

December 7, 2011 — Jon McLoone, International Business & Strategic Development

When people tell me that Mathematica isn’t fast enough, I usually ask to see the offending code and often find that the problem isn’t a lack in Mathematica‘s performance, but sub-optimal use of Mathematica. I thought I would share the list of things that I look for first when trying to optimize Mathematica code.

1. Use floating-point numbers if you can, and use them early.

Of the most common issues that I see when I review slow code is that the programmer has inadvertently asked Mathematica to do things more carefully than needed. Unnecessary use of exact arithmetic is the most common case.

In most numerical software, there is no such thing as exact arithmetic. 1/3 is the same thing as 0.33333333333333. That difference can be pretty important when you hit nasty, numerically unstable problems, but in the majority of tasks, floating-point numbers are good enough and, importantly, much faster. In Mathematica any number with a decimal point and less than 16 digits of input is automatically treated as a machine float, so always use the decimal point if you want speed ahead of accuracy (e.g. enter a third as 1./3.). Here is a simple example where working with floating-point numbers is nearly 50.6 times faster than doing the computation exactly and then converting the result to a decimal afterward. And in this case it gets the same result.

N[Det[Table[1/(1 + Abs[i - j]), {i, 1, 150}, {j, 1, 150}]]] // AbsoluteTiming

{3.9469012, 9.30311*10^-21}

Det[Table[1/(1. + Abs[i - j]), {i, 1., 150.}, {j, 1., 150.}]] // AbsoluteTiming

{0.0780020, 9.30311x10^-21}

Read More »

September 22, 2009 — Brenton Bostick, Kernel Technology

I wanted to build a simple web application for manipulating and exporting Pythagoras trees to make posters and desktop wallpaper, and so I turned to the new features of webMathematica 3.

webMathematica is a web application framework released by Wolfram Research. It allows users to write web pages using Mathematica, seamlessly integrating Mathematica code with HTML and JavaScript.

webMathematica 3, the new version released on September 15, introduces several new features such as a web version of the popular Manipulate command and a way to evaluate Mathematica code asynchronously, without delaying page loading.

Read More »

September 3, 2009 — Theodore Gray, Co-founder, Wolfram Research, Inc; Founder, Touch Press; Proprietor, periodictable.com

Longtime Mathematica user Flip Phillips recently sent us this tremendously amusing error message generated by Mathematica. Much as you might think when stumbling upon a pickup truck hanging from a tree, your first reaction is probably, “How does something like that even happen??”

Diagonal error message sent in by Flip Phillps—click to enlarge

Read More »

January 21, 2009 — Eric Schulz, Consultant

I have taught collegiate mathematics for more than 20 years and have used Mathematica for 15 or so of these years to explore, learn, and teach. For the last eight years Mathematica has been my primary tool to write all of my exams, handouts, letters, reports, papers, presentations, and even a complete electronic textbook. New features introduced recently have been revolutionary in the teaching and learning environment and make possible the creation of materials that integrate text, typeset mathematics, and interactive figures, which can be created efficiently and used effectively in ways not possible with other software tools.

For faculty and students to benefit from using Mathematica in the teaching and learning process, they must be able to use Mathematica sufficiently well to remain focused on course concepts and not become frustrated by the technology. Without question, the main challenge I face teaching new users how to use Mathematica is helping them master the task of creating syntactically correct commands, followed closely by the challenge of teaching how to use Mathematica to write rich documents that combine text, typeset mathematics, and figures.

When the use of technology gets in the way of the teaching, learning, and writing about content, which should remain the focus of academic learning, then all involved in the teaching and learning process experience frustration! If enough example commands are provided, if the ways of Mathematica are carefully explained, and if patient help is readily available, then some new users are able work their way up the learning curve and reach a point where they can focus on the subject matter and are able to comfortably use Mathematica to explore, learn, teach, and write about the concepts. Members of this group are often able to independently deepen their understanding and use of Mathematica by relying on the Wolfram Mathematica Documentation Center and other resources; but not enough new users reach this level of Mathematica knowledge and thus do not experience firsthand the marvelous capabilities of Mathematica to explore, investigate, learn, teach, and write about interesting ideas!

Read More »

November 18, 2008 — Stephen Wolfram

In the middle of last year, we finished our decade-long project to reinvent Mathematica, and we released Mathematica 6.

We introduced a great many highly visible innovations in Mathematica 6—like dynamic interactivity and computable data. But we were also building a quite unprecedented platform for developing software.

And even long before Mathematica 6 was released, we were already working on versions of Mathematica well beyond 6.

And something remarkable was happening. There’d been all sorts of areas we’d talked about someday being in Mathematica. But they’d always seemed far off.

Well, now, suddenly, lots of them seemed like they were within reach. It seemed as if everything we’d built into Mathematica was coming together to make a huge number of new things possible.

All over our company, efforts were starting up to build remarkable things.

It was crucial that over the years, we’d invested a huge amount in creating long-term systems for organizing our software development efforts. So we were able to take those remarkable things that were being built, and flow them into Mathematica.

And at some point, we realized we just couldn’t wait any longer. Even though Mathematica 6 had come out only last year, we had assembled so much new functionality that we just had to release Mathematica 7.

So 18 months after the release of Mathematica 6, I’m happy to be able to announce that today Mathematica 7 is released!

Wolfram Mathematica 7

Read More »

June 23, 2008 — Stephen Wolfram

Today is an important anniversary for me and our company.

Twenty years ago today—at noon (Pacific Time) on Thursday, June 23, 1988—Mathematica 1.0 was officially launched.

Much has changed in the world since then, particularly when it comes to computer technology.

But I’m happy to be able to say that Mathematica still seems as modern today as it did back then when it was first released. And if you take almost any Mathematica 1.0 program from 20 years ago, it’ll run without change in the latest Mathematica 6.0 today.

From the beginning, I had planned Mathematica for the long term. I wanted to build a system that could capture the essence of computation, and apply it wherever that became possible.

I spent great effort to get the fundamentals right—and to build the system on principles that would endure.

And looking back over the past two decades it’s satisfying to see how well that has worked out.

Read More »

March 11, 2008 — Christopher Carlson, Senior User Interface Developer, User Interfaces

Many new features in Mathematica are manifested in new functions with definite names, but some are not so prominent. You might miss one of the new features that I implemented for Mathematica 6.0.2—but it’s really useful, and so I thought I’d write about it here.

Let’s say you have a plot, or some other kind of graphic. You see something in the graphic—some special point—and you want to know where that is, what its (x, y) coordinates are.

In earlier versions of Mathematica, there were primitive ways to find this out. Now in Mathematica 6.0.2 there’s a nice, clean, general way to do it.

Open the Drawing Tools palette (from the Graphics menu, or by typing CTRL-d or CTRL-t). Choose the “Get Coordinates” tool at the upper right.

Click the crosshairs symbol on the Drawing Tools palette

Read More »

February 25, 2008 — Peter Overmann, Director of Software Technology

In my ten years at Wolfram Research, I’ve never seen so much software development activity. In the middle of last year, we had our biggest launch in a decade: Mathematica 6. Now there’s a huge pipeline of new development underway.

Some people are working on Mathematica 7; some people on Mathematica 8. We’re developing major new frameworks and we’re adding boatloads of new functions. But we’re also continuing to polish and strengthen everything that’s already in Mathematica.

We brought out Mathematica 6.0.1 last summer to add a variety of improvements that didn’t make it into 6.0.0. And we’ve now accumulated enough improvements that we’ve decided to release 6.0.2—which is being sent to Premier Service customers as of today.

Read More »