Defines a multivariate normal (Gaussian) distribution.
Gets the lower triangular form of the Cholesky factorization of the covariance matrix of the distribution.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The Cholesky factored matrix.
Gets the covariance matrix of the distribution.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The covariance matrix.
Gets the mean values of the distribution.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
The mean values.
Initializes the multivariate normal distribution by defining the mean values and covariance matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(inout) | :: | this |
The multivariate_normal_distribution object. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | mu |
An N-element array containing the mean values. |
|
real(kind=real64), | intent(in), | dimension(:,:) | :: | sigma |
The N-by-N covariance matrix. The PDF exists only if this matrix is positive-definite; therefore, the positive-definite constraint is checked within this routine and enforced. An error is thrown if the supplied matrix is not positive-definite. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error handling object. |
Evaluates the PDF for the multivariate normal distribution.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(in) | :: | this |
The multivariate_normal_distribution object. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | x |
The values at which to evaluate the function. |
The value of the function.
Updates the mean value array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(multivariate_normal_distribution), | intent(inout) | :: | this |
The multivariate_normal_distribution object. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | x |
The N-element array of new mean values. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
The error handling object. This is referenced only in the event that the size of x is not compatible with the existing state. |