2.2.5.2. Log Uniform Law

The LogUniform law is well adapted for variations of high amplitudes. If a random variable \(x\) follows a LogUniform distribution, the random variable \(\ln(x)\) follows a Uniform distribution, so

\[f(x) = \frac{1}{(x\times\ln(x_{\rm max}/x_{\rm min}))}{\rm 1\kern-0.28emI}_{[x_{\rm min}, x_{\rm max}]}(x)\]

Uranie code to simulate a LogUniform random variable is:

tds = DataServer.TDataServer("tdssampler", "Sampler Uranie demo")
tds.addAttribute(DataServer.TLogUniformDistribution("lu", .001, 10.))

fsamp = Sampler.TSampling(tds, "lhs", 300)
fsamp.generateSample()  # Create a representative sample 

tds.Draw("lu")
tds.Draw("log(lu)")  # Check that ln(x) follows a uniform law

Figure 2.6 shows the PDF, CDF and inverse CDF generated for different sets of parameters.

../../../_images/TLogUniformDistribution.png

Figure 2.6 Example of PDF, CDF and inverse CDF for LogUniform distributions.