Notice: Undefined index: order_next_posts in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 194

Notice: Undefined index: post_link_target in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 195

Notice: Undefined index: posts_featured_size in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 196

Mathematica explained

A coding language from Wolfram supplied free to all Raspberry Pis. Why should you care?

I’m going to be completely honest, I really have no idea what Mathematica is. Not even sure I’ve heard of Wolfram. So let’s start with that. What is Wolfram?

Wolfram Research is a company that primarily makes Mathematica and was founded by a man called Stephen Wolfram. It also owns Wolfram Alpha, the smart search engine that Siri in the iPhone uses. They’re very big on numbers, apparently.

Numbers and a search engine, how exactly do they relate to each other?

Due to the way Wolfram Alpha collects data, it can collect datasets for Mathematica to use in its database.

Create amazing graphs in the name of mathematics
Create amazing graphs in the name of mathematics

I’m not quite sure what that even means. So here’s the big question: what is Mathematica?

Mathematica is a very advanced computational program and framework that lets you add very complex mathematics into code and spreadsheets a bit more easily than you would with the standard tools of the language or spreadsheet software. It can integrated into interactive documents, websites and more. It’s billed as the ultimate platform for doing anything that involves maths or computational modelling.

So it’s a plug-in that makes maths stuff easier?

Not exactly, as it can be used on its own to perform calculations and computational models. Maths can be a lot trickier than adding and subtracting, with complicated formulas to create 2D and 3D graphs needing some way to be interpreted. It can also handle numbers and variables changing, to redraw models on the fly.

Okay, fair enough. Still, why use this rather than some of the maths modules in your spreadsheets or languages?

While some of that is fairly powerful, Mathematica is purely developed to handle mathematics. It’s very optimised and includes a lot of tools and computational functions that don’t exist in other maths modules. It’s also designed to be relatively easy to work with, allowing you to create complicated models a bit more easily than other languages.

Right, so complicated maths made relatively easier. What’s the big deal with it being on the Raspberry Pi, though?

Well for starters, it’s free. Very free. Normally it would cost a lot of money to license Mathematica. £200 outright or £95 a year for personal use, and that’s the cheapest option. So that’s amazing to begin with. Secondly, it’s all part of the Raspberry Pi Foundation’s commitment to education. Mathematica on the Pi will let kids and adults learn about computer-based mathematics (CBM).

Wait, you’ve lost me again. Computer- based mathematics?

The concept behind computer-based mathematics is that schools and curriculums are concentrating too much on calculating numbers, not the maths behind it. The CBM movement is about promoting the understanding and applications of maths, while letting computers do the actual computing. This is the same way it’s used in the real world. The project is also sponsored by Wolfram.

Understanding maths rather than calculating it?

It goes back to what we said about maths being a lot more complicated than just adding and subtracting. Understanding the more advanced maths concepts will allow you to use them better in general. In any job where you’d be using these advanced concepts, you’d have computers perform the actual calculations anyway. There’s always the age-old question in classrooms about how integrating a formula will help you in the real world, and CBM aims to help explain that along the way.

And all this can be achieved just by opening up Mathematica and giving it to kids?

Well now, CBM also includes an entirely new mathematics curriculum which makes use of Mathematica. Mathematica will be the tool to help people follow along with the courses they’ve laid out or proposed, and you won’t need to spend a penny on actually buying the software for yourself.

Do I have to use this very expensive tool just for educational purposes, though?

Nothing is stopping you from using Mathematica as you see fit on the Raspberry Pi. However, the Pi’s hardware itself may be the limiting factor. Also it’s licensed on the Pi for non-commercial use only, so you’d be breaking the law if you decided to use it in an enterprise setting. For hobby programmers, though, anything goes.

It’s free on the Raspberry Pi, though – doesn’t that make it free software? The traditional definition of free software doesn’t apply to Mathematica. Whereas free software is completely free for you to use and modify as you see fit, Mathematica is closed source and licensed under Wolfram’s own proprietary licence. It’s free as in beer, but not free as in speech.

Wait, but it’s running on Linux? Isn’t all of Linux free and open source?

Yes. However, the software running on it doesn’t have to be free or open either. There’s a lot of non-free software, paid or not, that runs on Linux.

Doesn’t the Raspberry Pi Foundation support Linux and open source, though?

Yes it certainly does. However, the Raspberry Pi was created with the express purpose of being able to help kids learn computer science, much like the BBC Micros did in the 1980s. Linux being on the Pi is more of a convenient solution than anything else.

So if it’s just to do with convenience, how are they actually supporting FOSS?

In 2013 alone, the Raspberry Pi Foundation spent about £1 million on open source projects. This included a lot of core Linux-based projects, such as the kernel itself.

Ah, Okay. Well, it all sounds excellent to me. Where do I sign up? I have the burning desire to model a hypercube.

You just need to install it with the following terminal command:

$ sudo apt-get update && sudo apt-get install wolfram-engine

It will appear under the Education section of the menu.