## A Month of Math Software – February 2012

Welcome to the latest edition of A Month of Math Software which includes information on a new language for scientific computing, statistics software education in New Zealand as well as the usual mix of mathematical and scientific software releases from the worlds of commercial and free software.

If you’d like something added to next month’s edition then contact me (it’s free). If you want to see old editions then take a look at the MMS archive.

**A new language for scientific computing**

- Julia is a “new high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environment.” I haven’t tried it yet but it looks great and includes a Just In Time compiler (JIT) to help boost performance.
- Blog post on why the authors created Julia
- John D Cook writes some simple non-uniform random number generators in Julia.
- Online manual for Julia

Have you test driven Julia? Let me know what you think in the comments.

**Learn statistics with the free GenStat for teaching and Learning (GTL)
**

- Genstat is a commercial data analysis tool with an emphasis on the biosciences and they have a free version called GenStat for Teaching and Learning. This is currently being used to teach statistics in many schools in New Zealand (among other places) and a paper has been written about it called Learning Statistics Using Motivational Videos, Real Data and Free Software. Finally, check out these free videos, data sets and lesson plans that use the software.

**Mathcad Prime**

- Mathcad Prime 2.0 has been released and has lots of new improvements. I’ve never been a fan of Mathcad and Prime 1.0 was a big disappointment for me but many people seem to like it. Let me know if you are one of them.

**Attack of the clones
**

- A major new release of the free MATLAB clone, Octave, has is now available. Version 3.6.1 has lots of new goodies and you can read all about them in the 3.6.1 NEWS file.
- Version 13.7 of the MATLAB-like Euler Math Toolbox is now available. See the change log for the improvements.
- Version 0.92 of the popular Mathcad clone, Smath studio, was released in February.

**Number theory**

- A new version of PARI/GP is now available for download. From the software’s website: “PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves…), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.” Head over to the changelog to see what’s new.

**Perl and Python
**

- If you like to work with the Perl programming language then you should take a look at the Perl Data Language (PDL). A new version was released in February– version 2.4.10– which includes automatic multi-thread support among other things.
- If you prefer Python, you’ll probably like to know that version 0.10.1 of scipy, the scientific library for python, has been released.

**Math software on tablets**

- The Mathematica kernel is now running on iPad!
- GeoGebra is a superb piece of free software for mathematics learning and teaching. Thanks to the release of the beta version of GeoGebraWeb, you can now experience some of the GeogGebra goodness on Tablets and Chromebooks. This forum post gives the details.

**Finite Elements**

- February saw the release of two new C++ libraries: ViennaMath and ViennaFEM. The author of the libraries writes “The symbolic math kernel library ViennaMath (http://viennamath.sourceforge.net/) written in C++ allows for both runtime and compiletime evaluation, differentiation, integration, and substitution of simple mathematical expressions. In short, ViennaMath offers some of the advantages of full-fledged computer algebra systems such as Mathematica or Maple directly within C++. The symbolic math kernel is intended to be used for numerical applications and is included in the new finite element library ViennaFEM (http://viennafem.sourceforge.net/), which allows for the specification of either the strong or the weak formulation of the underlying PDE directly in code. Even though ViennaFEM is still in alpha-state, the first release already supports grids in 1d, 2d (triangular,quadrilateral) and 3d (tetrahedral, hexahedral).”

**From the blogs**

- How to solve a NLLS problem using SQP method in Excel? – From The Numerical Algorithms Group (NAG)
- Using GPUs in MATLAB – From The Mathworks (click here for my articles on GPUs in MATLAB)
- How to Blur an Image with a Fourier Transform in Matlab – Part I – From MATAB Geeks

People on Lambda the Ultimate weren’t enormously enthusiastic about Julia.

Excellent to see Viennaxxx expand with new offering. Looking forward to a commercial company providing support and further fund it’s development.

A matrix language that doesn’t have built-in eigs function?

Does anyone know why Octave make such decision?

@che_wei: What do you mean? The core commands in Octave are the same as those in Matlab, so there is eig and eigs.

Note that Octave’s eigs is essentially the same as Matlab’s eigs

@Simon, @che_wei…The Octave team has ‘unbundled’ the ARPACK library which provides eigs. This makes total sense. The base ARPACK library hasn’t been updated for ages and so various projects that use it (Octave,Scilab,MATLAB,Scipy etc) have been maintaining their own ‘mini-fork’ resulting in a duplication of effort. More details on this blog post:

http://jordi.inversethought.com/blog/arpack-situation/

So, a group of people got together and produced a fork of ARPACK that everyone will use and contribute to (great news for all concerned if you ask me!)

http://forge.scilab.org/index.php/p/arpack-ng/

Octave now uses this new fork of ARPACK and so does not need to ship its own version.

So, eigs in Octave is safe; its just provided by an external dependency now.

Thanks for introducing Julia. It looks like an awesome and promising project! So much looking forward to try it (I have problems with the Linux installation but it might be just me…)

PGI has released OpenCl for ARM

http://www.hpcwire.com/hpcwire/2012-02-28/the_portland_group_ships_opencl_compiler_for_multi-core_arm.html

Thank you for the explanation, Mike.

I am also interested in Julia,

but sadly found that it is not available in Windows, yet.

The Euler Math Toolbox page is now at

http://euler.rene-grothmann.de

Yes, and Julia looks good. I hope there will soon be an easy to use version, which I do not have to compile on my Linux emulator to use.