The CAS Yacas on the iPhone

I’m always on the lookout for a good stand-alone symbolic algebra system for the iPhone/iPod Touch; when I saw that Yacas was available I grabbed it with glee – even (can you believe this) actually paid for it.

You can see what Yacas can do at its site, by browsing through its help, or by looking over its tutorial. I am supposing that the iPhone version has the same functionality.

First, the interface is very good; clean, and easy to use:

Yacas interface

The buttons are a good size, and the switching between “123”, “abc” “mno” and their shifted variants gives a complete alphabet, and a few useful mathematical and symbolic commands. The “Cmd” button brings up an alphabetical list of all commands (which is extensive), with an alphabet on the right (similar to the iPhone’s contact list) so that a command can be quickly reached with a minimum of scrolling. After a little time it is quite easy and fast.

The main problem with Yacas is simply its lack of basic functionality. For a system which promises so much, it is frustrating to be always coming up against a brick wall. Yacas seems to handle most basic linear algebra well. But it’s easy to fool. Here’s a little example testing the Cayley-Hamilton theorem:

Yacas linear algebra

See what’s happened? The last final “-8” is interpreted by Yacas to mean subtract 8 from every element in the matrix, rather than 8 times the identity matrix.

Calculus. Everybody would want this, and for differentiation, at least, Yacas delivers:

Yacas derivatives

But its integration is very poor indeed. It can manage polynomials, simple integrals with trigonometric, logarithmic and exponential functions (the sort of simple integrals you don’t need a symbolic system for), but trips up on anything more complex. For example,


which is not really very difficult (if a little fiddly to do by hand) tied up Yacas for over 5 minutes, after which I aborted the computation. There is also no built in method for numerical integration. Its symbolic simplifying is very basic; as you can see above, it can’t simplify exp(x)exp(-x).

However, its help system is good:

Yacas help

and organized by type, rather than alphabetically. This can make it hard to find some commands – it took me a good few minutes to discover where “Subst” was kept. (Under “Evaluation of expressions”.)

At this stage I think Yacas is to be considered more as a “proof of concept” than a finished system. A bit more work, stronger integration and simplification, and it might be a useful system. At the moment though, it simply lacks too much basic functionality.

Leave a Reply

Your email address will not be published. Required fields are marked *