def test_correct_parameters_without_whitenoise(self): parest, res = fit_lorentzians(self.ps, self.nlor, self.t0[:-1], fit_whitenoise=False) assert len(parest.lpost.model.parameters) / 3 == self.nlor
def setup_class(cls): np.random.seed(150) cls.nlor = 3 cls.x_0_0 = 0.5 cls.x_0_1 = 2.0 cls.x_0_2 = 7.5 cls.amplitude_0 = 200.0 cls.amplitude_1 = 100.0 cls.amplitude_2 = 50.0 cls.fwhm_0 = 0.1 cls.fwhm_1 = 1.0 cls.fwhm_2 = 0.5 cls.whitenoise = 2.0 cls.priors = { 'x_0_0': cls.x_0_0, 'x_0_1': cls.x_0_1, 'x_0_2': cls.x_0_2, 'amplitude_0': cls.amplitude_0, 'amplitude_1': cls.amplitude_1, 'amplitude_2': cls.amplitude_2, 'fwhm_0': cls.fwhm_0, 'fwhm_1': cls.fwhm_1, 'fwhm_2': cls.fwhm_2, 'whitenoise': cls.whitenoise } cls.model = models.Lorentz1D(cls.amplitude_0, cls.x_0_0, cls.fwhm_0) +\ models.Lorentz1D(cls.amplitude_1, cls.x_0_1, cls.fwhm_1) + \ models.Lorentz1D(cls.amplitude_2, cls.x_0_2, cls.fwhm_2) + \ models.Const1D(cls.whitenoise) freq = np.linspace(0.01, 10.0, 1000) p = cls.model(freq) noise = np.random.exponential(size=len(freq)) power = p * noise cls.ps = Powerspectrum() cls.ps.freq = freq cls.ps.power = power cls.ps.power_err = np.array([0.] * len(power)) cls.ps.df = cls.ps.freq[1] - cls.ps.freq[0] cls.ps.m = 1 cls.cs = Crossspectrum() cls.cs.freq = freq cls.cs.power = power cls.cs.power_err = np.array([0.] * len(power)) cls.cs.df = cls.cs.freq[1] - cls.cs.freq[0] cls.cs.m = 1 cls.t0 = np.asarray( [200.0, 0.5, 0.1, 100.0, 2.0, 1.0, 50.0, 7.5, 0.5, 2.0]) cls.parest, cls.res = fit_lorentzians(cls.ps, cls.nlor, cls.t0)
def setup_class(cls): np.random.seed(150) cls.nlor = 3 cls.x_0_0 = 0.5 cls.x_0_1 = 2.0 cls.x_0_2 = 7.5 cls.amplitude_0 = 200.0 cls.amplitude_1 = 100.0 cls.amplitude_2 = 50.0 cls.fwhm_0 = 0.1 cls.fwhm_1 = 1.0 cls.fwhm_2 = 0.5 cls.whitenoise = 2.0 cls.priors = {'x_0_0': cls.x_0_0, 'x_0_1': cls.x_0_1, 'x_0_2': cls.x_0_2, 'amplitude_0': cls.amplitude_0, 'amplitude_1': cls.amplitude_1, 'amplitude_2': cls.amplitude_2, 'fwhm_0': cls.fwhm_0, 'fwhm_1': cls.fwhm_1, 'fwhm_2': cls.fwhm_2, 'whitenoise': cls.whitenoise} cls.model = models.Lorentz1D(cls.amplitude_0, cls.x_0_0, cls.fwhm_0) +\ models.Lorentz1D(cls.amplitude_1, cls.x_0_1, cls.fwhm_1) + \ models.Lorentz1D(cls.amplitude_2, cls.x_0_2, cls.fwhm_2) + \ models.Const1D(cls.whitenoise) freq = np.linspace(0.01, 10.0, 10.0 / 0.01) p = cls.model(freq) noise = np.random.exponential(size=len(freq)) power = p * noise cls.ps = Powerspectrum() cls.ps.freq = freq cls.ps.power = power cls.ps.power_err = np.array([0.]*len(power)) cls.ps.df = cls.ps.freq[1] - cls.ps.freq[0] cls.ps.m = 1 cls.cs = Crossspectrum() cls.cs.freq = freq cls.cs.power = power cls.cs.power_err = np.array([0.]*len(power)) cls.cs.df = cls.cs.freq[1] - cls.cs.freq[0] cls.cs.m = 1 cls.t0 = np.asarray([200.0, 0.5, 0.1, 100.0, 2.0, 1.0, 50.0, 7.5, 0.5, 2.0]) cls.parest, cls.res = fit_lorentzians(cls.ps, cls.nlor, cls.t0)
def setup_class(cls): np.random.seed(150) cls.nlor = 3 cls.x_0_0 = 0.5 cls.x_0_1 = 2.0 cls.x_0_2 = 7.5 cls.amplitude_0 = 200.0 cls.amplitude_1 = 100.0 cls.amplitude_2 = 50.0 cls.fwhm_0 = 0.1 cls.fwhm_1 = 1.0 cls.fwhm_2 = 0.5 cls.whitenoise = 2.0 cls.model = models.Lorentz1D(cls.amplitude_0, cls.x_0_0, cls.fwhm_0) + \ models.Lorentz1D(cls.amplitude_1, cls.x_0_1, cls.fwhm_1) + \ models.Lorentz1D(cls.amplitude_2, cls.x_0_2, cls.fwhm_2) + \ models.Const1D(cls.whitenoise) freq = np.linspace(0.01, 10.0, 10.0 / 0.01) p = cls.model(freq) noise = np.random.exponential(size=len(freq)) power = p * noise cls.ps = Powerspectrum() cls.ps.freq = freq cls.ps.power = power cls.ps.df = cls.ps.freq[1] - cls.ps.freq[0] cls.ps.m = 1 cls.t0 = [200.0, 0.5, 0.1, 100.0, 2.0, 1.0, 50.0, 7.5, 0.5, 2.0] cls.parest, cls.res = fit_lorentzians(cls.ps, cls.nlor, cls.t0)
def test_correct_parameters_without_whitenoise(self): parest, res = fit_lorentzians(self.ps, self.nlor, self.t0[:-1], fit_whitenoise=False) assert len(parest.lpost.model.parameters) / 3 == self.nlor