I have two time-dependent coupled equations. One of which is several orders of magnitude more computationally demanding than the other. I am trying to use machine learning to reproduce the behavior of the more expensive equation.

equation 1

input: c(t), a(t)
output a(t+dt)

equation 2

input: a(t)
output: c(t+dt)

So essentially I want to reconstruct the response of equation 2. Keep in mind that internally there are variables in equation 2 which retain 'memory' of the previous states. So the response depends on the history of input.

Any advice on where to start or what methods have been developed for this type of system? OR if there is a more appropriate place to post this?

edit: some more details, this is a multiscale simulation

equation 1 is a simple finite difference equation

$a(x,t+dt) = 2a(x,t) - a(x,t-dt) + \frac{dt^2}{dx^2} \left[ a(x+dx,t)-2a(x,t) + a(x-dx,t) \right] + dt^2 c(x,t)$

for the second part at each x I have a time-dependent set U(t) to propogate to U(t+dt). This propagation depends on an input a(x,t) and produces c(x,t+dt) to be fed back into the first equation. The details of this part are a bit convoluted/involved, but the essential point is that I want to avoid explicitly storing or propagating U (very very very expensive e.g. 10,000+ cpu cores needed)

EDIT2: A NARX network seems to be able to do almost what I want. However, I have a number of different 'examples' which I want the network to learn from. Maybe the only way I can do it is to stitch everything together into one big (input, output) set?


  • $\begingroup$ Hi user1984528 and welcome to scicomp! It's hard to give advice on this without knowing a little more about the specific equations involved. Writing out your system explicitly will definitely help. $\endgroup$ – Paul Feb 12 '15 at 20:53
  • $\begingroup$ Thanks Paul, I added some more information to my post. I'm not exactly sure on the right language for this, but I am looking to 'train' something to approximate the expensive part of the calculation. $\endgroup$ – user1984528 Feb 12 '15 at 23:27
  • $\begingroup$ It appears from your post that unknown functions $a(t),c(t)$ are coupled through equations 1 and 2. The post then implies that there is a third unknown(?) function $U(t)$ involved in equation 2(?). Some further details of how $U(t)$ depends on $a(t),c(t)$ would be important to the Readers interested in helping you. $\endgroup$ – hardmath Feb 22 '15 at 19:48
  • $\begingroup$ @hardmath I only mention $U(t)$ as there was a request for more details. U(t) does not explicitly depend on a(t). The equation to move it forward in time does depend on it. $\endgroup$ – user1984528 Feb 23 '15 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.