A while back, OS/2 e-Zine took a took a look at Octave (http://www.os2ezine.com/20020716/page_5.html) which was a mathematics package for OS/2. It was meant to be a Matlab (a commercial application) clone which was completely open-source, released under GPL (GNU Public License).
While it had a few rough edges, and you had to install gnuplot yourself if you wanted graphing capabilities, it was more well known to me and seemed to be a package that more people were using. Plus, it was almost completely Matlab compatible.
Recently, I had a chance to take a closer look at Euler v1.23, and I wish I had done so earlier! Euler is a very polished program that is relatively easy to use.
To refresh the memory of those of you not familiar with the likes of Matlab, Euler is a program specializing in dealing with discrete mathematics and data (unlike MapleV, which also had a nice OS/2 version at one time).
While in high-school, most of you probably dealt with functions. But in the real world, what you really handle is data. It's always data, so often times, packages such as Matlab or Euler are much more useful. You either type in the data, read it from a file, create it or whatever you want. Using Euler, you can then manipulate them, analyze them or plot them any way you wish.
I'll give a comparison of Euler vs. MapleV to illustrate the difference.
In MapleV, you might issue such a command to plot a function:
plot(x+2, x=1..10);
This plots the function 'y=x+2' using x from values 1 to 10. Of course there is
is real data that needs to be generated, but to the user, it is all behind the scenes.
MapleV takes care of that for you. All the user does is specify the function.
In a program like Euler (or Matlab or Octave), you need to take care of that yourself:
x=1:0.1:10;
plot(x+2);
The difference is subtle in this case. It's almost the same, but you had to manually
create a "variable" called "x" with the appropriate data.
Perhaps a better example to illustrate the difference. In a program like MapleV,
you can ask it to do some integration:
int(x,x);
Integrating f(x)=x with respect to x will give you (x^2)/2. However, with a
discrete mathematics package, there is no such function here! You can only
ask for a summation (really a discrete integration) and it must work
with real data. In the integration example above, the equivalent function would be to
add up all the elements of x, e.g. 1+1.1+1.2+....+10.
Anyways, enough of the math lesson, let's show off a bit of Euler.
First thing you need to do is download and install Euler. You can download Euler 1.23 from hobbes (http://hobbes.nmsu.edu/pub/os2/apps/math/euler/euler123.zip), don't worry, it is amazingly small, less than 500kb. Just unzip the package into the directory you want, and that's it. To run Euler, just execute "euler.exe". Very simple, no re-boots, no messing with CONFIG.SYS or anything.
As with similar programs, all commands are entered simply through a text-based
window. I'm not going to go into too much detail about Euler command and syntax, that's
entirely another article (or more!) in itself. And Euler comes with good help
files, demo and tutorials.
Those of you accustomed to Matlab or Octave will feel right at home. Euler is specifically not a Matlab clone, but the commands and syntax are similar, if not identical, in many ways. (My guess is the author wanted a Matlab-clone, but it's easier when you don't have to absolutely ensure your application is 100% compatible).
With Euler, you can do many of the functions you might expect of a package of this sort. Basic math, matrix manipulations, some statistical analysis, Fourier transforms and of course, graphing capabilities too. Graphs will appear in a separate window.
Programming capability is also included in Euler. So, if you know what you're doing, you can whip up some pretty complicated numerical simulations or visualizations.
Of course, this is the fun part! Numbers are so boring until you plot them.
There are basic 2-D type of graphs, for example, this simple line and histogram plot.
Euler can also handle more complicated types like contour plots, 2-D density plots
(where the density is coded in colour) and this vector field graph.
Even parametric plots can be produced, which can be shown as a simple animation.
And of course, 3-D plotting capabilities are also present. From simple wire-frame models:
To solid 3-D plots with flat patches, and the prettiest plots of all, 3-D shaded plots
such as this interesting knot.
In terms of documentation, Euler seems quite complete. As you can note in the screenshot of the main window above, it isn't just an OS/2 command-line window. The menus do work and the help menu brings up real help in the IBM .INF viewer.
On top of the on-line help, there are some HTML files included giving examples and some documentation. Within Euler itself, there is a very complete demo (accessible from the "File->Load Demo" menu) which not only shows what it can do, it clearly explains which commands to use to do it.
All in all, I think this is very professionally done. Contrast to Octave (which, in its defense, works just like Matlab) where you do not have a searchable on-line Help and some of the stuff isn't as nicely written or complete.
Unfortunately, the last port to OS/2 is v1.23 while the latest version of Euler on other platforms is v1.73. Actually, that's not so far behind, and the only reason is that we have nobody to compile the latest version for OS/2. It is not because support is discontinued or it can't work on OS/2.
Euler is completely open-source, released under GPL, so it would be great to have someone take over and keep the OS/2 version up to date. It would be a shame to lose such a nice piece of programming for OS/2.
But if you're looking for a tool that will plot your data nicely, or maybe just something to play with as a teaching tool, I now think Euler is your best bet on OS/2. It's free, it's availalable, it's easy to install, it's stable and nicely done.
This article is courtesy of www.os2ezine.com. You can view it online at http://www.os2ezine.com/20030916/page_3.html.