Coverage for bilby/core/sampler/dynamic_dynesty.py: 59%

27 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-06 04:57 +0000

1from .dynesty import Dynesty 

2 

3 

4class DynamicDynesty(Dynesty): 

5 """ 

6 bilby wrapper of `dynesty.DynamicNestedSampler` 

7 (https://dynesty.readthedocs.io/en/latest/) 

8 

9 All positional and keyword arguments (i.e., the args and kwargs) passed to 

10 `run_sampler` will be propagated to `dynesty.DynamicNestedSampler`, see 

11 documentation for that class for further help. 

12 

13 For additional documentation see bilby.core.sampler.Dynesty. 

14 """ 

15 

16 external_sampler_name = "dynesty" 

17 sampler_name = "dynamic_dynesty" 

18 

19 @property 

20 def nlive(self): 

21 """ 

22 Users can either specify :code:`nlive_init` or :code:`nlive` (with 

23 that precedence) or specify no value, in which case 500 is used. 

24 """ 

25 if self.kwargs["nlive_init"] is not None: 

26 return self.kwargs["nlive_init"] 

27 elif self.kwargs["nlive"] is not None: 

28 return self.kwargs["nlive"] 

29 else: 

30 return 500 

31 

32 @property 

33 def sampler_init(self): 

34 from dynesty import DynamicNestedSampler 

35 

36 return DynamicNestedSampler 

37 

38 @property 

39 def sampler_class(self): 

40 from dynesty.dynamicsampler import DynamicSampler 

41 

42 return DynamicSampler 

43 

44 def finalize_sampler_kwargs(self, sampler_kwargs): 

45 sampler_kwargs["maxcall"] = self.sampler.ncall + self.n_check_point 

46 

47 def read_saved_state(self, continuing=False): 

48 resume = super(DynamicDynesty, self).read_saved_state(continuing=continuing) 

49 if not resume: 

50 return resume 

51 else: 

52 self.sampler.loglikelihood.pool = self.pool 

53 return resume