def students_t(x, amplitude=1.0, center=0.0, sigma=1.0): """Student's t distribution: gamma((sigma+1)/2) (1 + (x-center)**2/sigma)^(-(sigma+1)/2) = ------------------------- sqrt(sigma*pi)gamma(sigma/2) """ s1 = (sigma+1)/2.0 denom = (sqrt(sigma*pi)*gamfcn(sigma/2)) return amplitude*(1 + (x-center)**2/sigma)**(-s1) * gamfcn(s1) / denom
def pearson7(x, area, center, sigma, expon): """Return a Pearson7 lineshape. Using the wikipedia definition: pearson7(x, center, sigma, expon) = amplitude*(1+arg**2)**(-expon)/(sigma*beta(expon-0.5, 0.5)) where arg = (x-center)/sigma and beta() is the beta function. """ arg = (x - center) / sigma scale = area * gamfcn(expon) / (gamfcn(0.5) * gamfcn(expon - 0.5)) return scale * (1 + arg**2)**(-expon) / sigma
def pearson7(x, amplitude=1.0, center=0.0, sigma=1.0, expon=1.0): """pearson7 lineshape, using the wikipedia definition: pearson7(x, center, sigma, expon) = amplitude*(1+arg**2)**(-expon)/(sigma*beta(expon-0.5, 0.5)) where arg = (x-center)/sigma and beta() is the beta function. """ arg = (x-center)/sigma scale = amplitude * gamfcn(expon)/(gamfcn(0.5)*gamfcn(expon-0.5)) return scale*(1+arg**2)**(-expon)/sigma
def students_t(x, amplitude=1.0, center=0.0, sigma=1.0): """Return Student's t-distribution. students_t(x, amplitude, center, sigma) = gamma((sigma+1)/2) ---------------------------- * (1 + (x-center)**2/sigma)^(-(sigma+1)/2) sqrt(sigma*pi)gamma(sigma/2) """ s1 = (sigma+1)/2.0 denom = max(tiny, (sqrt(sigma*pi)*gamfcn(max(tiny, sigma/2)))) return amplitude*(1 + (x-center)**2/max(tiny, sigma))**(-s1) * gamfcn(s1) / denom
def students_t(x, amplitude=1.0, center=0.0, sigma=1.0): """Return Student's t distribution. students_t(x, amplitude, center, sigma) = gamma((sigma+1)/2) (1 + (x-center)**2/sigma)^(-(sigma+1)/2) ------------------------- sqrt(sigma*pi)gamma(sigma/2) """ s1 = (sigma+1)/2.0 denom = max(tiny, (sqrt(sigma*pi)*gamfcn(max(tiny, sigma/2)))) return amplitude*(1 + (x-center)**2/max(tiny, sigma))**(-s1) * gamfcn(s1) / denom
def pearson7(x, amplitude=1.0, center=0.0, sigma=1.0, expon=1.0): """Return a Pearson7 lineshape. Using the Wikipedia definition: pearson7(x, center, sigma, expon) = amplitude*(1+arg**2)**(-expon)/(sigma*beta(expon-0.5, 0.5)) where ``arg = (x-center)/sigma`` and `beta` is the beta function. """ expon = max(tiny, expon) arg = (x - center) / max(tiny, sigma) scale = amplitude * gamfcn(expon) / (gamfcn(0.5) * gamfcn(expon - 0.5)) return scale * (1 + arg**2)**(-expon) / max(tiny, sigma)
def _gamma(x): """Return the gamma function.""" return gamfcn(x)
def _gamma(x): """gamma function""" return gamfcn(x)