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:

    TDataServer *tds = new TDataServer("tdssampler", "Sampler Uranie demo");
    tds->addAttribute( new TLogUniformDistribution("lu", .001, 10.));
    
    TSampling *fsamp = new 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.