Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition to Ultranest #205

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

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