Is anything unclear with the doc? You will have to code up your model using map rect. The rest is taken care of for you…but I agree in that this facility is not super user friendly due to the need for packing and unpacking of the parameters and the data.
Right now I am wondering how to e.g. pack a standard regression, where y is a vector and X is a matrix (and hence no int).
Should then both y and X be mapped to the real x_rs function argument, and then unpacked into y and X in the function that evaluates the likelihood? Or more generally: Should all data types that are not integers be packed into real x_rs, and all integers be placed in int x_is?
I think the doc is great, but as I haven’t worked with mapping functions before I’ll probably need quite a bit of trial and error to figure it out. So more examples with different data/parameter types would save some time.
And hopefully we’ll get more examples out ourselves of how to do things. We tend to just doc the behavior in the manual. Then we need to get the users guide up to par for this, which means a bunch of examples.
We’ll also be adding utilitiles on top of the basic map_rect going forward. We wanted to use the basic form for a while before deciding how to abstract.
The answer is likely yes here. However, we definitely need to provide examples which show how to efficiently code this up. Also, the utility/speedup of map_rect has been demonstrated for ODE models and rather expensive PK/PD models (in analytic form) so far. The standard regression examples should also benefit, but it remains to be seen what data sizes are needed in order to make up for the additional overhead incurred by map_rect in comparison to using the really fast vectorized expressions in Stan straight.
… so I would recommend to start with easy examples and benchmarks before one embarks into coding your super-complex model in map_rect. The facility is new and we all need to learn when and how to use it best.