Reference articles on history, science, culture and more
Encyclopedia

Euler Mathematical Toolbox

Image credit is listed at the end of this article.

Euler Mathematical Toolbox (or EuMathT; formerly Euler) is a free and open-source numerical software package. It contains a matrix language, a graphical notebook style interface, and a plot window. Euler is designed for higher level math such as calculus, optimization, and statistics.

The software can handle real, complex and interval numbers, vectors and matrices, it can produce 2D/3D plots, and uses Maxima for symbolic operations. The software is compilable with Windows. The Unix and Linux versions do not contain a computer algebra subsystem.

01History

Euler Math Toolbox originated in 1988 as a program for Atari ST. At that time, the title of the program was simply Euler, but it turned out to be too unspecific for the Internet. The main aim of the program was to create a tool for testing numerical algorithms, to visualize results, and to demonstrate mathematical content in the classroom. Euler Math Toolbox uses a matrix language similar to MATLAB, a system that had been under development since the 1970s. Then and now the main developer of Euler is René Grothmann, a mathematician at the Catholic University of Eichstätt-Ingolstadt, Germany. In 2007, Euler was married with the Maxima computer algebra system. Symbolic expressions and other functions were added to communicate with Maxima, and to reach a good degree of integration into the numerical Euler core.

02Overview

The Euler core is a numerical system written in C/C++. It handles real, complex, and interval values, as well as matrices of these types. Other available data types are sparse, compressed matrices, a long accumulator for an exact scalar product, and strings. Strings are used for expressions, file names etc. Based on this core, additional functions are implemented in the Euler matrix language, which is an interpreted programming language in the style of an advanced BASIC dialect. Euler contains libraries for statistics, exact numerical computations with interval inclusions, differential equations and stiff equations, astronomical functions, geometry, and more.

The clean interface consists of a text window and a graphics window. The text window contains fully editable notebooks, while the graphics window displays the graphics output. Graphics can be added to the notebook window or can be exported in various formats (PNG, SVG, WMF, Clipboard). Graphic types include line, bar or point plots in 2D and 3D, including anaglyph plots of 3D surfaces and other 3D plots. Euler provides an API for the open raytracer POV-Ray.

Euler handles symbolic computations via Maxima, which is loaded as a separate process, communicating with Euler through pipes. The two programs can exchange variables and values. Indeed, Maxima is used in various Euler functions (e.g. Newton's method) to assist in the computation of derivatives, Taylor expansions and integrals. Moreover, Maxima can be called at definition time of an Euler function.

LaTeX can be used from within Euler to display formulas. For export of formulas to HTML, either the generated LaTeX images or MathJax can be used. A special export option exports all graphics to SVG.

Euler also includes the Tiny C Compiler, which allows subroutines in C to be compiled and included via a Windows DLL.

Euler has a lot of similarity to MATLAB and its free clones (GNU Octave), but it is not compatible.

Watch videos about Euler Mathematical ToolboxExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Euler Mathematical Toolbox, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.