Ich bin neu in Theano und versuche, einen numerischen Integrator eines Reaktions-Diffusions-Systems zu implementieren - FitzHugh-Nagumo Modell dieser Version:
Im Moment sind meine Ausdrücke:
%Vor%Ich habe also den Laplaceoperator noch nicht implementiert. Meine Frage ist, ob es einen schlauen Weg gibt, es in Theano zu machen?
Gibt es einen Grund, Theano zu benutzen? In Python gibt es noch andere Möglichkeiten, ein System gekoppelter nichtlinearer ODEs zu lösen.
Die Definition des Reaktions-Diffusionssystems von Google legt nahe, dass u (x, y, t), v (x, y, t).
Ich bin kein Benutzer von Theano, aber es sieht so aus, als würde man das Problem in Form einer Gleichung wie b = Ax aufstellen.
Einige Ressourcen, auf die ich bei Google gestoßen bin, um Theano zu verwenden und PDEs generell zu lösen, sind unten aufgeführt.
Den Laplace-Anhänger mit Theano ausdrücken
Ein interessantes Beispiel für ein ähnliches, aber einfacheres Problem, das mithilfe von Faltungsnetzwerken auf dem Tensorflow von Google gelöst wurde, finden Sie hier:
Insbesondere verwenden sie die folgende Definition des Diffusionskerns:
%Vor%Ich sehe hier zwei gekoppelte, nicht lineare, gewöhnliche Differentialgleichungen erster Ordnung.
Update: Jetzt sind Ihre Gleichungen klar - Laplacian sind da; zwei gekoppelte nichtlineare PDEs. viel besser.
Sie benötigen einen finiten Differenzen- oder Finite-Elemente-Ansatz für Ihre räumliche Diskretisierung. Ihre Wahl natürlich, aber ich würde einen Finite-Elemente-Ansatz über finite Differenzen bevorzugen.
Sie brauchen auch eine gewisse numerische Integration in der Zeit. Ein implizites Fehlerkorrekturschema wäre am besten.
Ich schaute schnell auf die Theano-Dokumente. Ich habe nichts gesehen, was dir bei deinem räumlichen Diskretisierungsproblem helfen könnte. Sobald Sie dies erreicht haben, werden Sie Matrixgleichungen haben, die Sie lösen können, aber ich glaube nicht, dass Theano Ihnen helfen wird, das Problem zu formulieren.
Ich gebe zu, dass ich kein Theano Maven bin.