ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation. |
Generate and return the natural logarithm of an approximation of the Probability Density Function (PDF) of the Multiple MultiVariate Uniformly Ellipsoidal (MMVUE) Distribution.
More...
Generate and return the natural logarithm of an approximation of the Probability Density Function (PDF) of the Multiple MultiVariate Uniformly Ellipsoidal (MMVUE) Distribution.
See the documentation of pm_distUnifElls for details of the definition of the PDF.
X
value representing a location within the domain of the density function.[in,out] | rng | : The input/output scalar that can be an object of,
|
[in] | mean | : The input contiguous matrix of shape (1:ndim, 1:nell) , of the same type and kind as the output logPDF , representing the centers of the ellipsoids in the distribution. |
[in] | chol | : The input contiguous array of shape (1:ndim, 1:ndim, 1:nell) whose specified triangular subset contains the Cholesky Factorization of the Gramian matrix of the MMVUE distribution. |
[in] | subset | : The input scalar constant that can be any of the following:
|
[in] | invGram | : The input array of shape (1:ndim, 1:ndim, 1:nell) of the same type and kind as the input argument point , containing the collection of square matrices of full inverse representative Gramian matrix of the \(\ndim\)-dimensional ellipsoids in the distribution.This argument is needed to determine the membership of the generated random vectors for estimating the effective volumes the ellipsoids. |
[in] | nsim | : The input positive scalar of type integer of default kind IK, containing the number of random number simulations in approximating the PDF of the distribution.The larger this integer, the more accurate the logPDF estimate will be.(optional, default = 10000 .) |
[in] | normed | : The input positive scalar of type logical of default kind LK.
.false. .) |
logPDF
: The output scalar of,
containing the natural logarithm of the PDF of the distribution.
Possible calling interfaces ⛓
0 < nsim
must hold for the corresponding input arguments.all(shape(invGram) == [size(mean, 1), size(mean, 1), size(mean, 2))
must hold for the corresponding input arguments.size(chol, 1) <= size(chol, 2)
must hold for the corresponding input arguments (to ensure that arguments can be passed without data copy).all([size(chol, 1), size(chol, 3)] == shape(mean))
must hold for the corresponding input arguments.CHECK_ENABLED=1
.impure
. The procedures of this generic interface are pure
when the input argument rng
is set to xoshiro256ssw_type and the compile-time macro CHECK_ENABLED
is set to 0
or is undefined.0 < nell
must hold for the corresponding input arguments.all(invmul <= 1)
must hold for the corresponding input arguments.size(chol, 1) == size(chol, 2)
must hold for the corresponding input arguments.CHECK_ENABLED=1
.
Example usage ⛓
ifort
compiler ⛓ ifort
compiler ⛓ gfortran
compiler ⛓
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 310 of file pm_distUnifElls.F90.