MathCode C++
Optimierter C++-Code aus Mathematica-Programmen
MathCode kompiliert Mathematica-Funktionen in hocheffizienten und lesbaren C++-Code. Mathematica und MathCode C++ stellen eine Plattform für die schnelle Entwicklung von Code in Industriequalität dar, die für schwierige Simulationen und andere umfangreiche Berechnungen benötigt wird. MathCode C++ als System zur Codeerzeugung bietet dem Mathematica-Entwickler eine hohe Leistung, Vernetzung und eine einfach zu bedienende Matrix-Arithmetik. Im Zentrum steht die Übersetzung einer Mathematica-Code-Teilmenge nach C++. Dazu benötigt MathCode C++ einen externen C++-Kompiler, jedoch wird das gesamte Zusammenspiel mit dem Kompiler durch Funktionen in MathCode C++ gesteuert.
Des Weiteren können Mathematica-Zusatzpakete in ausführbare Programme kompiliert und nahtlos in Mathematica integriert werden. Die Funktionen eines Mathematica-Zusatzpakets, die der Anwender kompilieren möchte, müssen dazu allerdings numerische Argumente verwenden und numerische Ergebnisse an MathCode C++ zurückliefern, damit C++-Code erzeugt werden kann. Symbolischer Mathematica-Code kann jedoch Teil einer Funktionsdefinition sein, wenn die symbolischen Operationen als arithmetische Ausdrücke einer erweiterten Klasse von elementaren Funktionen erweitert werden können. Bereits bestehende C++-Funktionen/Bibliotheken können darüber hinaus während des Kompilierens mit Mathematica verlinkt werden.
MathCode C++ ermöglicht die Entwicklung von Prototypen innerhalb der leistungsfähigen und interaktiven Mathematica-Umgebung. Diese Prototypen können automatisch in schnellen Produktionscode nach C++ übersetzt und mit externen Applikationen verlinkt werden. Ebenso können Rückrufe aus externen Applikationen automatisch erzeugt werden. Dies bedeutet, dass die Funktionalität von Mathematica, die nicht einfach in C++-Code übertragen werden kann, ebenso für externe Applikationen zugänglich wird.
Die Erzeugung von selbstständigem externem Code wird unterstützt, dabei wird keine Runtime-Lizenz für die Weitergabe des kompilierten Codes benötigt.
Die Schlüsselfunktionen von MathCode C++
- Generierung von Standalone-C++-Code aus Mathematica-Code, optional mit MathLink an Mathematica angebunden
- Kompilierung von komplexen arithmetischen Operationen, komplexen Funktionen (
Re
,Im
,Abs
,Arg
undConjugate
) sowie trigonometrischen Funktionen für komplexe Zahlen und Felder - Kompilierung der Mathematica-Funktionen
Fourier
undInverseFourier
- Unterstützung für komplexe Datentypen und Felder aus komplexen Zahlen
- Unterstützung für g++ unter Linux und OS X sowie Visual C++ 2008/2010 unter Windows
Der Einsatz von MathCode C++ bietet folgende Vorteile:
- Erhöhte Produktivität
Die gesteigerte Geschwindigkeit von Mathematica Code bringt schnellere Analyseergebnisse und eine gesteigerte Produktivität. - Reduzierte Entwicklungszeit und -kosten
Bei der Verwendung der leistungsfähigen Mathematica-Umgebung und der Erzeugung von C++-Code mit MathCode C++ können Entwicklungszeit und Kosten gespart werden. - Gesteigerte Flexibilität
Mit dem Export von Mathematica-Funktionen für den Endanwender verbessert sich die Flexibilität.
Features
Features
- Erzeugt lesbaren Code, verwendet Operatorenüberladung in C++.
- Kompilieren von erzeugten Code aus Mathematica.
- Nahtlose Installation von erzeugtem Code in Mathematica
- Bequemes Hin- und Herschalten zwischen internem und erzeugtem Code.
- Einfache Syntax für das Bestimmen von Typen innerhalb des erzeugten Codes.
- Automatische symbolische Erweiterung und Eliminierung der Unterausdrücke.
- Anpassung durch benutzerdefinierte Mathematica-Regeln, die in der Codeerzeugung ineinander verschachtelt werden.
- Zur Vereinfachung des Auskoppelns von Spalten oder Untermatrizen gibt es eine einfachere Syntax für die Schachtelung von Matrizen, die sowohl in Mathematica als auch durch den erzeugten Code unterstützt werden.
- Überschaubare Syntax für das Verlinken externer Funktionen, einschließlich des Argument-Typs, der Ordnung und des "Aufrufs durch Referenz".
- Unterstützung der Interpolationsfunktionen
- Mathematica-Listen und -Matrizen werden mit Hilfe der LightMat-C++-Klassenbibliothek dargestellt:
- Hohe Lesbarkeit und Effizienz durch Verwendung von C++-Templates und Operatoren-Überladung.
- Getrennte Implementierung jeder Matrix und jedes Listentyps für hohe Geschwindigkeit.
- Optimierte Standardoperationen auf Listen und Matrizen.
- Spaltendarstellung nach Hauptordnung zur einfachen Verknüpfung von numerischen Paketen in C++.
Zusammenspiel mit Mathematica
Zusammenspiel mit Mathematica
Das Zusatzpaket integriert sich vollständig in Mathematica.
Mathematica ist ein Softwaresystem zur Lösung von Problemstellungen, in denen Berechnungen (Numerik, Symbolik), 2D- und 3D-Visualisierungen, Modellgenerierungen und Simulationen notwendig sind. Mathematica ist ein modulares mathematisches Werkzeugsystem mit einer nahezu unendlichen Vielfalt von Funktionen und Algorithmen. Es präsentiert sich dem Anwender in einer plattformunabhängigen Benutzeroberfläche - dem Notebookinterface - mit integrierter Textverarbeitung, 4GL-Programmiersprache, offener Programmarchitektur und dynamischen, frei definierbaren Symbolpaletten.
Für den erfahrenen Mathematica Anwender wird damit das Nutzen der Funktionen nahezu
zum Kinderspiel, denn jede Funktion verhält sich wie alle anderen Mathematica-Funktionen.
Für den Neuling gibt es ein interaktives Tutorial zur schnellen Einarbeitung
in Mathematica selbst und dann jeweilige Tutorials zur Einarbeitung in das Zusatzpaket.
Viele der Funktionen des Zusatzpaketes sind in Mathematica selbst programmiert und einige liegen im Mathematica Programmiercode vor, so dass diese individuell anpassbar/erweiterbar sind.
Die komplette Dokumentation ist online verfügbar und integriert sich bei der Installation in den Help-Browser und ist damit ebenfalls vollständig in Mathematica enthalten.
Erfahren Sie hier mehr zu Mathematica.
Systemvoraussetzungen
Systemvoraussetzungen
Betriebssysteme
- Windows
- MacOS X mit Intel-Prozessor
- Linux
zu den Systemvoraussetzungen von Mathematica
Für alle Versionen wird ein C++-Kompiler benötigt, auf der Windows-Plattform CygWin gcc oder Visual Studio 2008/2010, gcc auf Linux und Mac OS X.
Downloads
Downloads
Weitere Informationen zu Einsatzbereichen und Features erhalten Sie auf den Webseiten des Herstellers MathCore
Lizenzform +Preise
Lizenzformen
Einzelplatzlizenz
MathCode C++ ist lediglich als Einzelplatzlizenzen mit Nutzungsrecht entsprechend den Bedingungen des Herstellers als so genannter Fixed Seat möglich. Die Software ist nur per Download verfügbar. Beim Kauf wird die Mathematica-Versionsnummer und -Lizenznummer benötigt.
Netzwerklizenz
Es gibt keine offiziellen Netzwerklizenzen mit eigenem Lizenzmanager; in Zusammenarbeit mit dem Hersteller MathCore können wir jedoch ab einer Netzwerklizenzen von drei Benutzern ein spezielles Angebot unterbreiten. Fordern Sie dazu ein Angebot per E-Mail an
Preisinformation
MathCode C++ erhalten Sie über unseren ADDITIVE eShop oder fordern Sie ein Angebot per E-Mail an