SasView / sasmodels

Package for calculation of small angle scattering models using OpenCL.
BSD 3-Clause "New" or "Revised" License
16 stars 28 forks source link

sparse grids for polydispersity calculations #486

Open pkienzle opened 3 years ago

pkienzle commented 3 years ago

Assuming sparse grids work for superball (#485), try using them for more general polydispersity calculations.

This will require a change in the kernel_iq interface. Instead of sending in a list of polydisperse dimensions with a set of values along each dimension, we may be able to precalculate the set of points and weights to use for the given set of polydisperse parameters and send that to the GPU as a list of points to evaluate. Since we may be varying both the distribution centre and its width during the fit, all distributions will need to be shift-scale invariant so that we can easily translate points on the fixed grid to parameter values. The kernel methods can already enforce physical limits on the parameters, such as radius > 0. The distribution functions will need to be replaced with definitions based on cdf and ppf of the standardized form, without shift and scale. Distributions like log normal may require special handling.