2016-02-21 10 views
8

के साथ प्रतिक्रिया-प्रसार प्रणाली मैं थेनो के लिए नया हूँ, और मैं एक प्रतिक्रिया-प्रसार प्रणाली का एक संख्यात्मक एकीकरण को लागू करने की कोशिश - इस संस्करण की FitzHugh–Nagumo model:सुलझाने थेनो

enter image description here

enter image description here

अभी के लिए मेरे भाव हैं:

import theano as th 
import theano.tensor as T 

u = T.dmatrix('u') 
v = T.dmatrix('v') 
e = T.dscalar('e') 
a0 = T.dscalar('a0') 
a1 = T.dscalar('a1') 

dudt = u - u**3 -v 
dvdt = e*(u - a1*v - a0) 

इसलिए मैंने सीमित अंतरलागू नहीं किया हैअभी तक। मेरा सवाल यह है कि क्या थानो में ऐसा करने का एक स्मार्ट तरीका है?

+0

आपका स्थानिक डोमेन क्या है, और सीमा की स्थिति क्या है? –

+0

मेरा स्थानिक डोमेन 2 डी है, इसलिए 'v' और' u' '(x, y)' के कार्य हैं।अभी के लिए मैं आवधिक सीमा स्थितियों का अध्ययन कर रहा हूँ। – Ohm

उत्तर

4

क्या हैनो का उपयोग करने का कोई कारण है? युग्मित गैर-रैखिक ओडीई की प्रणाली को हल करने के लिए पाइथन में अन्य तरीके हैं।

Google से प्रतिक्रिया-प्रसार प्रणाली परिभाषा यह सुझाव देती है कि आप (x, y, t), v (x, y, t)।

मैं थेनो का उपयोगकर्ता नहीं हूं, लेकिन ऐसा लगता है कि बी = एक्स एक समीकरण के रूप में समस्या कास्टिंग करना है।

कुछ संसाधन जो मैं थेनो का उपयोग करने और आम तौर पर पीडीई को हल करने के लिए Google पर आया था।

Expressing the Laplacian using Theano

Solving a reaction-diffusion problem using numpy

Github project using Theano to solve the shallow water PDE

+0

तीसरा लिंक वास्तव में उपयोगी है – Ohm

+0

['sympy'] (http://www.sympy.org/en/index.html) भी एक संभावित विकल्प है और इसके लिए 'थानो' से शायद सरल है? –

1

मैं दो युग्मित, पहला क्रम, गैर-रैखिक, साधारण अंतर समीकरणों को यहां देखता हूं।

अद्यतन: अब आपके समीकरण स्पष्ट हैं - लैपलाशियन वहां हैं; दो युग्मित nonlinear पीडीई। अधिक बेहतर।

आपको अपने स्थानिक विघटन के लिए एक सीमित अंतर या परिमित तत्व दृष्टिकोण की आवश्यकता है। आपकी पसंद, ज़ाहिर है, लेकिन मैं सीमित मतभेदों पर एक सीमित तत्व दृष्टिकोण पसंद करूंगा।

आपको समय में कुछ प्रकार के संख्यात्मक एकीकरण की भी आवश्यकता है। एक निहित त्रुटि सुधार योजना सबसे अच्छा होगा।

मैंने थैनो दस्तावेज़ों में तेज़ी से देखा। मैंने आपकी स्थानिक विघटन की समस्या के साथ आपकी मदद करने के लिए कुछ भी नहीं देखा। एक बार जब आप यह पूरा कर लेंगे कि आपके पास मैट्रिक्स समीकरण होंगे जो आप हल कर सकते हैं, लेकिन मुझे विश्वास नहीं है कि थानो आपको समस्या को तैयार करने में मदद करेगा।

मैं स्वीकार करूंगा कि मैं एक थानो मेवेन नहीं हूं।

2

एक समान का एक दिलचस्प उदाहरण है, लेकिन सरल समस्या, गूगल की tensorflow पर convolutional नेटवर्क का उपयोग कर हल यहां पाया जा सकता:

https://www.tensorflow.org/versions/r0.7/tutorials/pdes/index.html

विशेष रूप से टी हे प्रसार कर्नेल की निम्नलिखित परिभाषा का उपयोग करें:

laplace_k = make_kernel([[0.5, 1.0, 0.5], 
          [1.0, -6., 1.0], 
          [0.5, 1.0, 0.5]]) 
संबंधित मुद्दे