## Archive for November, 2010

I bought a Samsung Galaxy S recently as a replacement for my dying HTC Hero and am mostly very pleased with it. However, the built in email client is so slow that it’s embarrassing! The **Google Mail** app is fine but the one that’s simply called **Email** does not work well for me at all which is a shame because that’s the app that I use to access my work email.

The ‘fix’ that I ended up doing isn’t really a fix at all because all I did was install the free **K-9 mail** client and use that instead. It’s so much faster that it borders on the insane. Just search for **K9 mail** in the Android Marketplace.

I thought I’d try out the new image capturing functionality in Mathematica 8 on my Linux based laptop with built in webcam but…

In[1]:= ImageCapture[] During evaluation of In[1]:= ImageCapture::notsupported: Image acquisition is not supported on Unix. >> Out[1]= ImageCapture[]

That makes me a sad panda!

Out of curiosity I wondered how many MATLAB toolboxes I’d need to buy in order to get similar functionality to Mathematica 8. I’m not claiming that Mathematica has** all** of the functionality in these toolboxes since it clearly doesn’t. Additionally, there are many MATLAB toolboxes for which Mathematica has no equivalent at all. With that said – I think that Mathematica 8 has functionality equivalent to at least some functions in the following MATLAB toolboxes.

- Symbolic toolbox
- Parallel Computing toolbox
- Optimization toolbox
- Statistics toolbox
- Image processing toolbox
- Curve fitting toolbox
- Control systems toolbox
- Wavelet toolbox
- Finance toolbox

Any I’ve missed?

Version 8 of Mathematica was released on Monday 15th November and it’s a big one! With permission from Wolfram Research , I’ve been releasing little preview snippets from the beta version over the last couple of months but they hardly scratch the surface. I’m really excited about this release and so rather than post a traditional review of the product in a couple of weeks time, I thought that I’d try something different.

The idea is that this post will grow with new information and observations on the new version as they happen. One of the things I’ll be focusing on is the new Wolfram portal for site license administrators in the hope that it might help other unlimited site administrators.

So, if you have anything to say about version 8 then post your comments, links and code here.

**10th March 2011 – Wolfram Portal Problems Fixed**

I am very pleased to be able to report that almost all of the issues I had with Wolfram’s portal have been fixed and Manchester University is beginning the Mathematica 8.0.1 roll-out to its staff and students. A huge thank you to the Wolfram portal staff who have been working with me on this.

**9th March 2011 – Wolfram Demonstrations Site Overhauled. CDF Player launched.**

Check out Wolfram’s blog post on this at http://blog.wolfram.com/2011/03/08/innovating-interactive-web-publishing-with-wolfram-demonstrations/. See one of the first interactive .cdf (computable document format) demonstrations outside of Wolfram Research at Mathematica: Interactive mathematics in the web browser

**7th March 2011 – Mathematica 8.0.1 has been released**

In an email to me Wolfram say ‘*Mathematica 8.0.1 includes more than 500 improvements, including feature, stability, and performance enhancements, as well as documentation updates.’ *Sadly there is no indication of what any of these changes actually are! That sucks!

**10th December 2010 – Wolfram Portal Problems**

When I first saw the new Wolfram Portal, I thought that it would make my life as a license administrator (and the lives of my colleagues) much easier and that I would be able to release Mathematica 8 to our University in double quick time. Sadly, however, it has not lived up to expectations and I now feel that it has some serious problems that need fixing before we start using it in anger. I don’t want to go into details just yet because I’m working with Wolfram to try to come to a resolution.

For now, however, I am sad to report that Manchester University won’t be rolling out Mathematica 8 to the masses for a while yet.

**20th November **

- Just discovered that Image capture is not supported on Linux machines.
- Some people have asked me if Mathematica 8 has improved ‘undo’ functionality. The answer is no – undo is identical to v7 (as far as I can tell).

**18th November **

Some new Mathematica 8 coverage:

- How many MATLAB toolboxes make a Mathematica 8? I wrote this out of curiosity. The list is longer than I expected.
- Programming with Natural Language is Actually Going to Work. Stephen Wolfram discusses the new NLP features in Mathematica. I have to say that it’s a feature I find myself using more and more. I don’t like leaving natural language in my notebooks though – it just looks wrong to my eyes and I worry that the behaviour of my notebook may change if Wolfram were to modify the Wolfram Alpha back-end. It is, however, a great way of quickly looking up Mathematica syntax and that’s mostly how I use it right now.

**17th November 11:00**

Some issues with Wolfram’s new site license administration portal are as follows

- Downloads are much slower than people would like. My beta testers have already requested that we host the Mathematica 8 installers on our local university servers. I’ve officially requested this from Wolfram. (
**fixed)** - It is not possible to use email wildcards when specifying who can request licenses or not. For example, if the requesters email doesn’t end with @manchester.ac.uk (and variants) then I want it to be automatically rejected with a message of our choice. Sadly I cannot do this which means that we’ll be doing lots of rejections from people who we can’t easily verify are are members of our university. (
**fixed**) - The site license admins get an email
**every single time**someone requests a license from us. A once a day digest would be much more useful!

**16th November 15:50**

I have my own copy of Mathematica 8 up and running and I’ve started playing with it a little. Just tried the following two commands on my desktop machine to see if I can get the CUDA interface working

Needs["CUDALink`"] CUDAInformation[]

Mathematica 8 needs to load something from Wolfram’s servers in order to complete this command and it’s taking an age. Several minutes in and it’s only at 17%. I guess Wolfram’s servers are being hammered right now (either that or there’s a local network problem). Definitely a down-side of cloud-based computing.

**16th November 15:00**

A colleague and I have been poking around the new Wolfram site license administrators portal and overall we are impressed. There are a few issues to iron out before we feel confident enough to open Mathematica 8 to all Mathematica users at Manchester but the system appears to be a vast improvement on what has gone before. This may be the fastest release to site I have ever performed. Sent Wolfram tech support about a trillion questions (sorry guys!)

**16th November 12:30**

Our site license has been upgraded already! Now to get my head around the new portal and see what needs to be done to get the goodies out to Manchester Uni users.

**16th November 10:30
**

My employer, The University of Manchester, has a full site license for Mathematica and I am one of the administrators of this license. I’ve already had my first request from a user who wants to upgrade to version 8 (very keen these Mathematica users) but Wolfram haven’t yet upgraded the site license from version 7.0.1. So, even I, as the administrator of an unlimited site license can’t get my hands on the goodies yet. Hopefully this will change soon because we’ve got a lot of work to do internally before we release it to our site.

**16th November 09:00
**

I’ve just read Stephen Wolfram’s blog post about the new free-form linguistics in Mathematica 8. It all looks very awesome but it seems that Wolfram Alpha is used to process the free-form input. This leads me to wonder about the following questions

- How much of the free-form linguistic functionality will you get if you are offline?
- Will any information about the user be sent to and kept by Wolfram Research? If nothing else then I guess this will give Wolfram some very detailed usage information.
- Since it has to go across the Internet to do some of the processing, how much will using free-form input slow things down?

**Mathematica 8 around the web
**

Christmas isn’t all that far away so I thought that it was high time that I wrote my Christmas list for mathematical software developers and vendors. All I want for christmas is….

### Mathematica

- A built in ternary plot function would be nice
- Ship workbench with the main product please
- An iPad version of Mathematica Player

### MATLAB

- Merge the parallel computing toolbox with core MATLAB. Everyone uses multicore these days but only a few can feel the full benefit in MATLAB. The rest are essentially second class MATLAB citizens muddling by with a single core (most of the time)
- Make the mex interface thread safe so I can more easily write parallel mex files

### Maple

- More CUDA accelerated functions please. I was initially excited by your CUDA package but then discovered that it only accelerated one function (Matrix Multiply). CUDA accelerated Random Number Generators would be nice along with fast Fourier transforms and a bit more linear algebra.

### MathCAD

- Release Mathcad Prime.
- Mac and Linux versions of Mathcad. Maple,Mathematica and MATLAB have versions for all 3 platforms so why don’t you?

### NAG Library

- Produce vector versions of functions like g01bk (poisson distribution function). They might not be needed in Fortran or C code but your MATLAB toolbox desperately needs them
- A Mac version of the MATLAB toolbox. I’ve got users practically begging for it :)
- A NAG version of the MATLAB gamfit command

### Octave

- A just in time compiler. Yeah, I know, I don’t ask for much huh ;)
- A faster pdist function (statistics toolbox from Octave Forge). I discovered that the current one is rather slow recently

### SAGE Math

- A Locator control for the interact function. I still have a bounty outstanding for the person who implements this.
- A fully featured, native windows version. I know about the VM solution and it isn’t suitable for what I want to do (which is to deploy it on around 5000 University windows machines to introduce students to one of the best open source maths packages)

### SMath Studio

- An Android version please. Don’t make it free – you deserve some money for this awesome Mathcad alternative.

### SpaceTime Mathematics

- The fact that you give the Windows version away for free is awesome but registration is a pain when you are dealing with mass deployment. I’d love to deploy this to my University’s Windows desktop image but the per-machine registration requirement makes it difficult. Most large developers who require registration usually come up with an alternative mechanism for enterprise-wide deployment. You ask schools with more than 5 machines to link back to you. I want tot put it on a few thousand machines and I would happily link back to you from several locations if you’ll help me with some sort of volume license. I’ll also give internal (and external if anyone is interested) seminars at Manchester on why I think Spacetime is useful for teaching mathematics. Finally, I’d encourage other UK University applications specialists to evaluate the software too.
- An Android version please.

How about you? What would you ask for Christmas from your favourite mathematical software developers?

If you love your code…set it free! That’s what Will Robertson did when he released the first version of colorbarplot for Mathematica. I liked what he did but it didn’t do quite enough for my needs so I added some stuff to it and a new version was born.

Our package starting getting users and some of those users asked for things so Will and I added yet more stuff and colorbarplot version 0.5 was born.

Finally, one of those users, Thomas Zell of the University of Cologne, has added more functionality of his own resulting in version 0.6 of colorbarplot. So, what’s new?

Well, if you have data in the form of a two-dimensional array, in which not every entry has valid numerical data, the following will now work without error:

set1 = Table[ If[Sqrt[x^2 + y^2] < 1, Sqrt[1 - Sqrt[x^2 + y^2]]], {x, -1, 1, 0.125}, {y, -1, 1, 0.125}]; ColorbarPlot[set1, InterpolationOrder -> 0, DataRange -> {{-1, 1}, {-1, 1}}]

Next up, if you want to compare two data sets, the plots have to have the same scale even if the data sets have different sizes. This can now be achieved with the PlotRange option:

set2 = Table[ If[Sqrt[x^2 + y^2] < 2, Sqrt[2 - Sqrt[x^2 + y^2]]], {x, -2, 2, 0.125}, {y, -2, 2, 0.125}]; {ColorbarPlot[set1, InterpolationOrder -> 0, DataRange -> {{-1, 1}, {-1, 1}}, PlotRange -> {{-2, 2}, {-2, 2}, {0, 1.5}}], ColorbarPlot[set2, InterpolationOrder -> 0, DataRange -> {{-2, 2}, {-2, 2}}, PlotRange -> {{-2, 2}, {-2, 2}, {0, 1.5}}]}

This is great stuff, helps make colorbarplot more useful and turns the package into a truly international collaboration ;)

- ColorbarPlot’s github page The latest version will always be available here
- ColorbarPlot’s page in the Wolfram Library This is often out of date.
- ColorbarPlot 0.6 from the WalkingRandomly server
- ColorbatPlot 0.5 My write up of a previous version
- ColorbarPlot 0.4 My write up of a previous version
- ColorbarPlot 0.3 My write up of a previous version

### Have you published anything that uses colorbarplot?

If you have published anything that uses our little package then please do let us know. We know we have users so it would be great to see how you are using it. The more feedback we get, the more likely we are to want to develop it further.

Mathematica 8 is coming and it’s chock-full of new features. Last month I took a very brief look at some of the new control systems functionality that we’ll be getting and this time around I thought I would take a look at some of the new plotting functions.

The first new command that I’d like to show you is a revamped box and whisker plot. Mathematica 7 could do these as part of the StatisticalPlots package but they seemed a bit of an afterthought and didn’t have many options.

Needs["StatisticalPlots`"] data1 = RandomReal[NormalDistribution[0, 1], 100]; data2 = RandomReal[{0, 1}, 100]; BoxWhiskerPlot[data1, data2]

The above code still works in Mathematica 8 but you’ll be told that it’s obsolete. The new way of doing things is to use BoxWhiskerChart which looks better, has a boat load of new options and also comes with a very nice tool-tip.

data = Table[ RandomVariate[NormalDistribution[mu, 1], 100], {mu, {0, 3, 2, 5}}]; BoxWhiskerChart[data, ChartElementFunction -> "GlassBoxWhisker"]

BoxWhiskerChart[RandomVariate[NormalDistribution[], {5, 100}], ChartStyle -> "SandyTerrain", ChartLegends -> {"a", "b", "c", "d", "e"}]

Next up is something from the world of Finance – a Kagi Chart.

data = FinancialData["L:LLOY", "Close", {{2010, 6, 1}, {2010, 11, 1}, "Day"}]; KagiChart[data, TrendStyle -> {Green, Red}]

How about some wavelets? Let’s do a discrete wavelet transform of a photo of me and use WaveletImagePlot to show the wavelet image coefficients.

me = Import["me.jpg"]; dwd = DiscreteWaveletTransform[me, Automatic, 3]; WaveletImagePlot[dwd, ImageSize -> 200]

Next up is a plot-type that is completely new to me – A violin plot.

DistributionChart[RandomVariate[NormalDistribution[0, 1], {4, 100}], ChartElementFunction -> ChartElementData["SmoothDensity", "ColorScheme" -> "DeepSeaColors"]]

Finally, A little more control systems with a Root Locus Plot.

RootLocusPlot[ StateSpaceModel[{{{0, 1}, {-3, -2}}, {{0}, {1}}, k {{2, 1}}}], {k, 0, 8}]

What I like most about all of these new plot types is that they will be built in to core Mathematica as of version 8 – no add-ons necessary. Compare this to MATLAB which has functions for most of the above plots but only if you buy the relevant toolbox:

- Box and Whisker Plot – Statistics Toolbox
- Kagi Chart – Finance Toolbox
- Wavelet coefficients – Wavelet Toolbox
- Root locus plot – Control Systems Toolbox
- Violin Plot – ?????

I much prefer Mathematica’s all in one approach and I am really looking forward to this release. Thanks to Wolfram Research for allowing me to release this little preview.

How about you? What plot types are you hoping for in Mathematica 8?