![]() A trefoil knot, drawn by Euler | |
Developer(s) | René Grothmann |
---|---|
Initial release | 1988 |
Stable release | |
Repository | |
Written in | C/C++ |
Operating system | Windows, Linux |
Available in | English |
Type | Numerical analysis |
License | General Public License |
Website | www |
Euler (now Euler Mathematical Toolbox or EuMathT) 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.
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.
The Euler core is a numerical system written in C/C++. It handles real, complex, and interval values, and 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, and the graphics window the graphics output. Graphics can be added to the notebook window too, 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 has an API to use 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.
MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimization, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram, and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica. Mathematica 1.0 was released on June 23, 1988 in Champaign, Illinois and Santa Clara, California.
A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.
Maple is a symbolic and numeric computing environment as well as a multi-paradigm programming language. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.
Maxima is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free software released under the terms of the GNU General Public License (GPL).
Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulations, numerical optimization, and modeling, simulation of explicit and implicit dynamical systems and symbolic manipulations.
Macsyma is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC.
Mathomatic is a free, portable, general-purpose computer algebra system (CAS) that can symbolically solve, simplify, combine, and compare algebraic equations, and can perform complex number, modular, and polynomial arithmetic, along with standard arithmetic. It does some symbolic calculus (derivative, extrema, Taylor series, and polynomial integration and Laplace transforms), numerical integration, and handles all elementary algebra except logarithms. Trigonometric functions can be entered and manipulated using complex exponentials, with the GNU m4 preprocessor. Not currently implemented are general functions like f(x), arbitrary-precision and interval arithmetic, and matrices.
PGF/TikZ is a pair of languages for producing vector graphics from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros, but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a language that resembles MetaPost. Till Tantau is the designer of the PGF and TikZ languages. He is also the main developer of the only known interpreter for PGF and TikZ, which is written in TeX. PGF is an acronym for "Portable Graphics Format". TikZ was introduced in version 0.95 of PGF, and it is a recursive acronym for "TikZ ist kein Zeichenprogramm".
MuPAD is a computer algebra system (CAS). Originally developed by the MuPAD research group at the University of Paderborn, Germany, development was taken over by the company SciFace Software GmbH & Co. KG in cooperation with the MuPAD research group and partners from some other universities starting in 1997. MuPAD's graphics package was particularly successful, especially considering the era when it was developed.
The Robotics Toolbox is MATLAB toolbox software that supports research and teaching into arm-type and mobile robotics. While the Robotics Toolbox is free software, it requires the proprietary MATLAB environment in order to execute. The Toolbox forms the basis of the exercises in several textbooks.
INTLAB (INTerval LABoratory) is an interval arithmetic library using MATLAB and GNU Octave, available in Windows and Linux, macOS. It was developed by S.M. Rump from Hamburg University of Technology. INTLAB was used to develop other MATLAB-based libraries such as VERSOFT and INTSOLVER, and it was used to solve some problems in the Hundred-dollar, Hundred-digit Challenge problems.