Skip to content

Conversation

@vetlewi
Copy link
Collaborator

@vetlewi vetlewi commented Jan 18, 2023

The pymulitinest package relies on the user having multinest built and installed somewhere on their system. This adds unnecessary complexity when users installs OMpy. To avoid this issue I've rewritten the NormalizerNLD and NormalizerSimultan to use the Ultranest package, rather than pymultinest.

TODO:
The way the lnlike function is implemented in NormalizerSimultan is very costly and not simple to vectorize. This should be rewritten to allow for vectorized calls. This will require some modification to the NormalizerGSF class too.

This PR will eventually be closing #204

Small bugfix as numpy arrays of shape (1,) are no longer implicitly converted to floats by `scipy.interpolate.interp1d`. Not sure exctly when or why that changed.
The sampling is no longer performed with pymultinest(multinest) but with ultranest. A reasonable speedup is also seen.
NormalizerSimultan now also uses Ultranest for the sampling of the posterior. The implementation is not yet vectorized and fairly slow as there are a lot of extra code. Significant speedup can be obtained by rewriting the lnlike function to be more vector friendly.
We want to suppress the visualization of ultranest when ran in parallel
@vetlewi vetlewi linked an issue Jan 18, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change from PyMultinest to Ultranest

1 participant