For discussion perhaps sooner than later since we are thinking about models...
How will a user specify a matrix is sparse? Some options that occur to me:
- via the type of the matrix in
inits, data, constants, but some of these are not required when a model is built
- via
sparse(Q[1:5,1:5]) ~ dwish(....)
- via
Q[1:5,1:5,'sparse'] ~ dwish(...)
- via some new argument to
nimbleModel (akin to how a user can specify dimensions via an argument instead of implicit in model code), perhaps in conjunction with (1).
I presume we could do a combination, such as (1) and (2) such that we use the types in whatever inits, etc. are provided, and otherwise default to dense unless sparse() is used.
For discussion perhaps sooner than later since we are thinking about models...
How will a user specify a matrix is sparse? Some options that occur to me:
inits,data,constants, but some of these are not required when a model is builtsparse(Q[1:5,1:5]) ~ dwish(....)Q[1:5,1:5,'sparse'] ~ dwish(...)nimbleModel(akin to how a user can specify dimensions via an argument instead of implicit in model code), perhaps in conjunction with (1).I presume we could do a combination, such as (1) and (2) such that we use the types in whatever
inits, etc. are provided, and otherwise default to dense unlesssparse()is used.