# Euler (Software)

Euler (in neueren Versionen Euler Math Toolbox oder EMT) ist eine quelloffene Numeriksoftware, die eine Skriptsprache, eine simple grafische Benutzeroberfläche und eine Graphenansicht umfasst und eine Reihe mathematischer Bereiche, unter anderem Integrale, Optimierungsaufgaben und Statistik, abdeckt.
Euler kann mit reellen und komplexen Zahlen sowie mit Vektoren und Matrizen umgehen und Graphen in 2D und 3D erzeugen; für symbolische Operationen wird das Computeralgebrasystem Maxima benutzt. Die Software ist für Windows verfügbar, unter Linux kann Euler mit einigen Einschränkungen installiert werden.
Die Numeriksoftware wurde nach dem Schweizer Mathematiker Leonhard Euler benannt.

## Geschichte

Euler Math Toolbox (EMT) entstand 1988 als ein Programm für Atari ST; Das Hauptziel des Programms ist es, ein Werkzeug zum Testen und Visualisieren numerischer Algorithmen sowie ein Unterrichtswerkzeug zum Demonstrieren mathematischer Themen bereitzustellen. EMT benutzt eine Skriptsprache, die ähnlich aufgebaut ist wie MATLAB, ein verbreitetes und etwa zur selben Zeit entstandenes System. Eulers Begründer und führender Entwickler ist René Grothmann, Professor für Mathematik an der Katholischen Universität Eichstätt-Ingolstadt.
2007 wurde das Computeralgebrasystem Maxima in den numerischen Kern Eulers integriert, um symbolische Operationen zu unterstützen.

## Allgemein

Der Euler-Kern ist ein numerisches System, geschrieben in C/C++. Es arbeitet mit reellen und komplexen Zahlen, Intervallen und Matrizen dieser Typen, inklusiver schwachbesetzter, komprimierter Matrizen. Außerdem enthält es einen long accumulator für die exakte Berechnung des Skalarprodukts und Strings für numerische Ausdrücke, Dateinamen oder andere Texte. Weitere Funktionen können, auf diesem Kern aufbauend, in der Euler-Skriptsprache implementiert werden. Die Skriptsprache ist für Matrizen optimiert und ist eine interpretierte Programmiersprache im Stil eines weiterentwickelten BASIC-Dialekts. Euler enthält Bibliotheken unter anderem für Statistik, numerische Berechnungen, Differentialgleichungen und steife Gleichungen, astronomische Funktionen und Geometrie.
Die Benutzeroberfläche besteht aus einem Text- und einem Grafikfenster; das Textfenster enthält bearbeitbare Notizen, das Grafikfenster die grafischen Ergebnisse. Grafiken können auch zu Text hinzugefügt oder in verschiedenen Formaten (PNG, SVG, WMF, Clipboard) exportiert werden. Diagrammtypen wie Linien-, Balken- oder Punktdiagramme werden in 2D und 3D unterstützt, inklusive anaglyphischer Grafiken für 3D-Flächen und -Diagramme. Euler verfügt über eine API für die Benutzung des Raytracers POV-Ray.
Für symbolische Operationen benutzt Euler Maxima, das als eigener Prozess geladen wird. Die Programme können Variablen und Werte untereinander austauschen, und Maxima wird für viele von Eulers Funktionen zur Berechnung von Ableitungen, Taylorentwicklungen und Integralen verwendet. Maxima kann bei der Definition von Euler-Funktionen aufgerufen werden.
Formeln in Euler können mit LaTeX dargestellt werden; für den Export nach HTML können entweder die mit LaTeX generierten Bilder oder MathJax verwendet werden.
Euler arbeitet mit dem Tiny C Compiler, der das Kompilieren und Einbinden (via Windows-DLL) von in C geschriebenen Subroutinen ermöglicht.
Das Programm enthält außerdem eine Schnittstelle nach Povray, mit der photorealistische Grafiken in der Sprache von Euler erzeugt werden können.
Euler ähnelt MATLAB und dessen kostenlosen Alternativen wie GNU Octave, ist aber nicht damit kompatibel.