Mathematica is probably the best language for implementing these kinds of transformations, but it fails on accessibility -- it has a hefty licensing fee. The possibilities I'm considering are Haskell, Common Lisp, Racket (a dialect of Scheme), F#, Clojure, OCaml, Standard ML, and Scala. My question to you all is this: which of these languages, if any, are you comfortable with?
Mathematica is probably the best language for implementing these kinds of transformations, but it fails on accessibility -- it has a hefty licensing fee. The possibilities I'm considering are Haskell, Common Lisp, Racket (a dialect of Scheme), F#, Clojure, OCaml, Standard ML, and Scala. My question to you all is this: which of these languages, if any, are you comfortable with?
The second is what you said, to generate the code that computes the log joint density and its gradient and plug that into the existing Stan framework. The motivation is to look for opportunities for code optimization, and eventually be able to generate GPU code.
The second is what you said, to generate the code that computes the log joint density and its gradient and plug that into the existing Stan framework. The motivation is to look for opportunities for code optimization, and eventually be able to generate GPU code.
On Aug 14, 2015, at 5:07 PM, Ben Goodrich <goodri...@gmail.com> wrote:
> We have talked about an option to execute with doubles only but allow the .stan program to write to the gradient vector analytically.
I still think the easiest way to do this would be to allow
a general syntax for writing functions with gradients, then
to plug those into a Stan model.