Bibliothek für mathematisch geprägtes Skripting



  • Hallo Leute,
    kennt ihr eine Bibliothek, die mathematik-lastiges Skripting mit C++-Binding anbietet?
    Also eine Sprache, die die Konzepte von Matrizen, Vektoren, Listen usw. schon kennt, bei der man dann die C++-Objekte an die Symbole im Skript binden kann?
    Also etwas, das man für ähnliche Einzeiler-Zwecke verwenden kann, wie Excel-Formeln, nur vielleicht mit einer Syntax, die man beeinflussen kann.
    Ich habe mir meinen eigenen kleinen Compiler gebastelt (Die rein mathematischen Ausdrucksbäume hatte ich schon für andere Zwecke, das ging also fix), aber ich leide halt ständig am Selbermach-Syndrom und da ich jetzt beim Repräsentieren von Vektor-/und Listenzugriffen wieder vom Hundertsten ins Tausendste komme und für Schleifen etc. auch noch Branching usw. in die "Virtuelle Maschine" (oder wie man das nennen soll) einbauen müsste, habe ich mich gefragt, ob's da nicht schon was fertiges gibt.
    Ich bin ja ansonsten ein Fan von Lua, aber damit bekomme ich das syntaktisch nicht so schön hin, wie ich mir das vorstelle.

    Viele Grüße,
    deci





  • http://www.sagemath.org/ bietet eine einfache Python-Anbindung (wodurch man auch an C++ kommt).



  • Also ich bin ja leidensfähig, aber ich habe nach 15 Minuten nicht herausgefunden, was Ceemple eigentlich macht. Auf der ganzen Internetseite habe ich nix gefunden, es bleibt eigentlich nur, sich den Code runterzuladen, das mache ich vielleicht morgen mal... Auf jeden Fall lässt das irgendwie nix gutes erahnen, finde ich. Aber bei dem Umfang der nicht näher erläuterten Funktionen scheint es mir auch viel zu abgefahren zu sein.

    Sage geht weit weit WEIT über das hinaus, was ich im Sinn habe, das ist ja ein richtiges CAS (also naja, Sage selber nicht, aber die benutzen ja Maxima und was nicht noch alles, wenn ich es richtig im Gedächtnis habe).

    Also ich meinte eigentlich wirklich eher eine kleine Skriptingsprache, deren Syntax und Elemente auf Berechnungen auf Feldern/Matrizen. Also eine Skriptsprache, in dem ich "a[5...1] = some" schreiben kann, und wenn a oder some nicht ansonsten definiert sind, sind's Variablen, die ich mit einer bestimmten Schnittstelle von "außen" (also aus der Host-Anwendung) binden kann. Man muss in der Sprache selbst noch nicht mal unbedingt eigene Funktionen definieren können, wenn es irgendwie von C++ aus geht. Also eigentlich ein runtergestripptes Lua, nur mit einer Syntax, die sich mehr für Mathe-Krams eignet.

    Mir bliebe natürlich, einen Parser und Cross-Compiler zu Lua zu schreiben... Aber ob das bei dem geringen Umfang, den ich brauche wirklich Arbeit spart, bleibt zu bezweifeln. Hrmmmm.



  • Um was gehts denn überhaupt? Wenns nur für dich zum produktiv sein geht, spricht doch nichts gegen den Umfang von Sage.

    Wenn du deine Mathe-Bibliothek für Benutzer einfach anwendbar machen willst, spricht doch auch nichts gegen ein Sage-Plugin, dann ist das wenigstens universell und nicht wieder eine radikal andere, zu allem anderen inkompatible Plattform, die am Inner-Platform-Effect leidet.

    Vielleicht hast du aber legtime Gründe, also nenne diese mal.



  • Es handelt sich um ein "kleines" Produktivtool um Daten gewonnen mit gewissen Sensoreigenschaften aus verschiedenen Formaten zu importieren, konvertieren, nachzubearbeiten, die Interpretation der Daten zu erleichtern und sie für eine Datenbestandsanwendung aufzubereiten und noch ein paar andere Sachen durchzuführen. Also alles mehr oder minder feste Prozesse.
    Zunächst wurde das alles per Excel gemacht, aber Zeit ist Geld und daher war ein Spezialtool angebracht, weil die Bearbeitungen etwas aufwendiger wurden und spezielle Grafische Tools da einfach geeigneter sind. Um jetzt Excel komplett aus der Gleichung zu entfernen, wär's toll, wenn man eben auch ein bisschen in Excel-Manier darin rummachen kann, also die Daten zugänglicher macht.
    Die Anwendung ist für Nicht-ITler, aber Experten auf ihrem Gebiet, also sehr speziell angesiedelt. Da ist dann meiner bescheidenen Einschätzung nach nix mit irgendwelchen Sage-Paket-Installationen (wenn es denn überhaupt objektiv Sinn ergäbe) für solch eine banale Funktionalität (Ich meine der Parser + Compiler hat jetzt 2 Tage gebraucht, wenn ich so weiter komme habe ich Ende der Woche alles, was ich brauche in eine Winz-Bibliothek).

    Ich selbst benutze mit größter Freude Maxima für meine Matheprobleme und sollte wohl mal Sage für die numerische Ergänzung eine Chance geben (mit dem darüber hinausgehenden theoretischen Kram von Sage stehe ich auf Kriegsfuß), aber das sind wirklich ganz unterschiedliche Anwendungsfelder, das käme mir wirklich wie Kanonen auf Spatzen vor.

    Also Bibliothek ok, aber ein Mega-Software-Paket mit Loopback-Socket-Anbindung no-go.



  • Caligulaminus schrieb:

    Ceemple?

    großartiges Bullshit Bingo auf der Seite. Wow. Lange nicht mehr sowas krasses für ein wissenschaftliches Tool gesehen.


Anmelden zum Antworten