EULER (http://euler.sourceforge.net/) is a mathematical programming language and program that allows people to mess with it.
Disclaimer, in this part, would be that I'm definitely not a mathematician. However, I sometimes need to mess with raw data with mathematical methods - for example, it's always nice to explore how mathematical functions affect sound samples, and using some primitive statistical methods on all kinds of data is always fun so that I can turn wild senseless speculation into senseless speculation backed by wild misinterpretation of scientifically produced information.
There's already one program that I like to use on Linux - GNU Octave. It works, and it's nice for just about everything.
But the GTK+ version of EULER is pretty interesting because it brings a bit more of the interactivity to the soup. Octave was mostly readline-based, meaning stuff could be entered as commands, and that's that. EULER uses "notebook" approach: Everything I write will be stored on notebook, and I can go back and edit it with no problems. This is aesthetically and practically much more pleasing than Octave's readline approach. For example, I can write a function definition interactively, see how it works, go back and edit it... and save the whole mess to a normal text file that can be read back to the notebook. In this respect it's probably similar to the big commercial mathematics apps (which I haven't used personally though - pearls before swine) - but it still has the feel and apparently the power of Octave.
EULER has tools to mess with functions - finding zeros, local extremas, integral computation and a lot of stuff I got grade 5 or 6 for in lukio. The function plotting is pretty neat - Octave had a small relationship with GNUPLOT, but EULER has the plotting very much integrated to the thing. There isn't much difference in the user perspective, though. EULER has also tools for reading data from a file, polynomial fitting, and such...
As mentioned, the sounds are fun to mess with - and tools like EULER are fun in this respect. There's ready functions to read, save and play .wav files... and the nature of EULER is that it's easy to make algorithms to mess with this sound data, visualize it, and do other things.
Like Octave, EULER has a large library of functions and tools to cover a wide range of the fields of mathematics. So large, in fact, that a mere mortal like me is completely stunned.
I've been told EULER as a programming language is similar to MatLab, just like Octave.
I like Octave and now it seems EULER is pretty fun, too.
Here's a list of features from the EULER web page:
- Real, complex and interval scalars and matrices,
- a programming language, with local variables, default values for parameters, variable parameter number, passing of functions,
- two and three dimensional graphs,
- marker plots,
- density and contour plots,
- numerical integration and differentiation,
- statistical functions and tests,
- differential equations,
- interval methods with guaranteed inclusions,
- function minimizers (Brent, Nelder-Mean),
- Simplex algorithm,
- interpolation and approximation,
- finding roots of polynomials,
- Fast Fourier transform (FFT),
- an exact scalar product using a long accumulator,
- PostScript graphics export
and lots more...