def m_nl_dtlnorm(x, mu, sigma, thres): F_delta = log(diff(lognorm.cdf(thres, sigma, scale=exp(mu)))[0]) return -mean(lognorm.logpdf(x, sigma, scale=exp(mu))) + F_delta
def rtlnorm(n, mu, sigma, thres): F_s = lognorm.cdf(thres, sigma, scale=exp(mu)) prob = rand(n)*diff(F_s)[0] + F_s[0] return lognorm.ppf(prob, sigma, scale=exp(mu))