I added the reference to the design doc, but I'm kind of lost
at formula (1) in the paper, which is
dy/dx = y * (mu - x) / (a + b * x + c * x^2)
I assume a, b, c and mu are parameters, because they describe
them as such. Is x the variate and y the density?
You are creating a simulator that can work for system dynamics modeling, too. As you ask for libraries of models, http://www.metasd.com/models/ is a collection of system dynamics models. Some of the Vensim models are just text, so you can examine those. Others may require the Vensim model reader from http://www.vensim.com/ or the iThink model player from http://www.iseesystems.com/, both of which are free. Follow the direction on Tom Fiddaman's page.
A system dynamics simulator pretty much requires the ability to specify a tabular nonlinear function with some sort of interpolation between defined points. I know Stan is not compatible with the GPL, but I use GSL Akima interpolation routines in MCSim. I'm confident Boost has something similar.
Finally, you might be interested in XMILE (http://xmile.systemdynamics.org/ and https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xmile), the XML Interchange Language for System Dynamics.
If you're not sure what system dynamics is, see http://www.systemdynamics.org/what-is-s/. Despite them using DE notation, too, most system dynamics models are written as integral equations, something like
state = integrate(netflow, initialconditions)
and better modeling systems allow for the use of units and units checking with suitable units algebra checking.
Bill
- Bob
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+unsubscribe@googlegroups.com.
That's similar to some ideas Andrew had, and my thought is
that it would be best to do by adding a new list-like type
to Stan.
I'm also not keen on (3), hence my blog post on Andrew's blog
about R's behavior.
- Bob
On 1/30/14, 12:53 PM, Michael Betancourt wrote:
I have opinions! :-) Oh, and for future reference it's the "simple harmonic oscillator" or "sho". "ho" just looks
weird. :-p
I immediately don't like (3) because I think it will lead to no end of errors from scope confusing and naming conflicts.
I am a big fan of more strict syntax that prevents these kinds of collisions.
So that leaves (1) and (2). I like the simplicity of (2)'s syntax (I'm already fearing the ridiculous signatures that
would arise from user models if a fully generic (1) were implemented as is) but can see the huge restriction of limiting
our users to reals.
That said, is there a way to combine them? I'm thinking of having data, parameter, and state classes which are just
polymorphic containers for Stan variables. So when you define
differential equations {
harmonic_oscillator {
...
parameters {
real<lower=0> gamma;
}
...
}
the user would have access to the new type
harmonic_oscillator::parameters
which they could use as
harmonic_oscillator::parameters::gamma <- 5;
Then we get the simple signature of (2) but the user has the freedom of defining different types while also having a
clear understanding of their scope.
On Wed, Jan 29, 2014 at 8:20 PM, Bob Carpenter <ca...@alias-i.com <mailto:ca...@alias-i.com>> wrote:https://github.com/stan-dev/__stan/wiki/ODE-Integrator-__Support
I updated the doc with some proposals if anyone has
any comments:
stan-dev+unsubscribe@__googlegroups.com <mailto:stan-dev%2Bunsu...@googlegroups.com>.
<https://github.com/stan-dev/stan/wiki/ODE-Integrator-Support>
Proposal 2 is by far the easiest to code, but I think Proposal 3 is
the most natural. I had originally thought we'd go with Proposal 1,
but I also think that'll be both too tricky to code and for users to
call and also too redundant.
- Bob
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit https://groups.google.com/__groups/opt_out <https://groups.google.com/groups/opt_out>.
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+unsubscribe@googlegroups.com.
That's similar to some ideas Andrew had, and my thought is
that it would be best to do by adding a new list-like type
to Stan.
I'm also not keen on (3), hence my blog post on Andrew's blog
about R's behavior.
- Bob
On 1/30/14, 12:53 PM, Michael Betancourt wrote:
I have opinions! :-) Oh, and for future reference it's the "simple harmonic oscillator" or "sho". "ho" just looks
weird. :-p
I immediately don't like (3) because I think it will lead to no end of errors from scope confusing and naming conflicts.
I am a big fan of more strict syntax that prevents these kinds of collisions.
So that leaves (1) and (2). I like the simplicity of (2)'s syntax (I'm already fearing the ridiculous signatures that
would arise from user models if a fully generic (1) were implemented as is) but can see the huge restriction of limiting
our users to reals.
That said, is there a way to combine them? I'm thinking of having data, parameter, and state classes which are just
polymorphic containers for Stan variables. So when you define
differential equations {
harmonic_oscillator {
...
parameters {
real<lower=0> gamma;
}
...
}
the user would have access to the new type
harmonic_oscillator::parameters
which they could use as
harmonic_oscillator::parameters::gamma <- 5;
Then we get the simple signature of (2) but the user has the freedom of defining different types while also having a
clear understanding of their scope.
On Wed, Jan 29, 2014 at 8:20 PM, Bob Carpenter <ca...@alias-i.com <mailto:ca...@alias-i.com>> wrote:https://github.com/stan-dev/__stan/wiki/ODE-Integrator-__Support
I updated the doc with some proposals if anyone has
any comments:
stan-dev+unsubscribe@__googlegroups.com <mailto:stan-dev%2Bunsu...@googlegroups.com>.
<https://github.com/stan-dev/stan/wiki/ODE-Integrator-Support>
Proposal 2 is by far the easiest to code, but I think Proposal 3 is
the most natural. I had originally thought we'd go with Proposal 1,
but I also think that'll be both too tricky to code and for users to
call and also too redundant.
- Bob
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit https://groups.google.com/__groups/opt_out <https://groups.google.com/groups/opt_out>.
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stan-dev+unsubscribe@googlegroups.com.
- Bob
--
You received this message because you are subscribed to the Google Groups "stan development mailing list" group.