2009-06-07 3 views
4

Kann jemand auf eine gute C++ - Bibliothek hinweisen, die 2D-numerische Integration durchführen kann. Es muss in der Lage sein, ein 2D-Array bekannter Werte zu akzeptieren, und der Abstand zwischen den Punkten kann als konstant angenommen werden (für einen Start).C++ 2D-Integrationsbibliotheken

Es ist vorzuziehen, dass es eine Lizenz hat, die es ermöglicht, den Code nach Bedarf zu modifizieren.

+1

Diese Frage ist off-topic auf Stapelüberlauf, da es eine Anforderung für eine Offsite-Ressource (d. H. Eine Bibliothek) ist. Möglicherweise haben Sie mehr Glück bei [Computational Science] (https://scicomp.stackexchange.com/). Anfragen für Bibliotheken sind [speziell on-topic] (https://scicomp.stackexchange.com/help/on-topic) auf dieser Site. – Walter

Antwort

-1

http://itpp.sourceforge.net/current/

bereits. Es kann tun, was Sie verlangen und mehr! Und Sie können den Code beliebig ändern.

Ich habe irgendwo gelesen, dass Sie Bibliotheken aus GNU Octave-Code extrahieren und den C++ - Code in Ihren eigenen Anwendungen verwenden können. Ich bin mir nicht sicher, ob das eine leichte Aufgabe ist, aber Sie können es versuchen, wenn Sie Zeit haben.

+0

Können Sie mich auf die 2D-Integration hinweisen? Alles, was ich finden konnte, war 1D-Integration (http://itpp.sourceforge.net/current/group__integration.html) –

+0

Ist nicht 2D-Integration nur ein Doppelintegral? Kannst du es nicht mit derselben Bibliothek machen? – Sahas

+4

Nicht in numerischer Integration. Sie haben mehr Informationen, die Sie verwenden möchten. Für jeden "Punkt" haben Sie vier Nachbarn, mit denen Sie interpolieren können, im Gegensatz zu 1D. –

4

Es ist eigentlich eine C-Bibliothek, aber wenn die GPL-Lizenzbedingungen für Sie arbeiten versuchen:

http://www.gnu.org/software/gsl/

Sie wollen die Monte-Carlo-Integrationsmöglichkeiten hier skizzierte überprüfen:

http://www.gnu.org/software/gsl/manual/html_node/Monte-Carlo-Integration.html

+0

Danke, ich werde mich darum kümmern. Ich würde mich im Moment lieber von Monte Catlo fernhalten. Ich bevorzuge jetzt deterministische Ergebnisse. –

+0

Monte-Carlo-Methoden haben deterministische Ergebnisse, sie sind nur "lauter". –

0

Diese Fortran-Bibliothek ist leicht zu verbinden mit C++ und ist in der Public Domain:

http://gams.nist.gov/cgi-bin/serve.cgi/Module/CMLIB/ADAPT/2967

Es ist einfache Genauigkeit, aber es ist ziemlich einfach, die Quellen zu modifizieren ("volle Quellen" zu erhalten und jede Funktion zu durchlaufen), um auf doppelte Genauigkeit umzuschalten.