17 integer(IK) :: itry, ndim
19 type(display_type) :: disp
23 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
24 call disp%show(
"!Gram method for real covariance.")
25 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
31 real(TKG),
allocatable ::
scale(:)
32 real(TKG),
allocatable :: rand(:,:)
36 call disp%show(
"ndim = getUnifRand(3, 9)")
40 call disp%show(
"call setResized(rand, [ndim, ndim])")
42 call disp%show(
"scale = getUnifRand(1, 10, ndim)")
48 call disp%show(
"call setCovRand(rngf, rand)")
52 call disp%show(
"isMatClass(rand, posdefmat)")
54 call disp%show(
"isMatClass(rand, hermitian)")
59 call disp%show(
"call setCovRand(rngf, rand, scale(1))")
63 call disp%show(
"isMatClass(rand, posdefmat)")
65 call disp%show(
"isMatClass(rand, hermitian)")
71 call disp%show(
"call setCovRand(rngf, rand, scale)")
75 call disp%show(
"isMatClass(rand, posdefmat)")
77 call disp%show(
"isMatClass(rand, hermitian)")
88 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
89 call disp%show(
"!Gram method for complex covariance.")
90 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
96 real(TKG),
allocatable ::
scale(:)
97 complex(TKG),
allocatable :: rand(:,:)
101 call disp%show(
"ndim = getUnifRand(3, 9)")
105 call disp%show(
"call setResized(rand, [ndim, ndim])")
107 call disp%show(
"scale = getUnifRand(1, 10, ndim)")
113 call disp%show(
"call setCovRand(rngf, rand)")
117 call disp%show(
"isMatClass(rand, posdefmat)")
119 call disp%show(
"isMatClass(rand, hermitian)")
124 call disp%show(
"call setCovRand(rngf, rand, scale(1))")
128 call disp%show(
"isMatClass(rand, posdefmat)")
130 call disp%show(
"isMatClass(rand, hermitian)")
136 call disp%show(
"call setCovRand(rngf, rand, scale)")
140 call disp%show(
"isMatClass(rand, posdefmat)")
142 call disp%show(
"isMatClass(rand, hermitian)")
153 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%")
154 call disp%show(
"!Dvine and Onion methods.")
155 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%")
161 real(TKG),
allocatable :: rand(:,:)
162 real(TKG) :: eta, scale
166 call disp%show(
"eta = getUnifRand(1, 10)")
168 call disp%show(
"ndim = getUnifRand(2, 5)")
170 call disp%show(
"call setResized(rand, [ndim, ndim])")
172 call disp%show(
"scale = getUnifRand(1, 10)")
176 call disp%show(
"call setCovRand(rngf, rand, dvine, eta)")
182 call disp%show(
"isMatClass(rand, posdefmat)")
184 call disp%show(
"isMatClass(rand, hermitian)")
189 call disp%show(
"call setCovRand(rngf, rand, onion, eta)")
195 call disp%show(
"isMatClass(rand, posdefmat)")
197 call disp%show(
"isMatClass(rand, hermitian)")
202 call disp%show(
"call setCovRand(rngf, rand, dvine, eta, scale)")
206 call disp%show(
"isMatClass(rand, posdefmat)")
208 call disp%show(
"isMatClass(rand, hermitian)")
214 call disp%show(
"call setCovRand(rngf, rand, onion, eta, scale)")
220 call disp%show(
"isMatClass(rand, posdefmat)")
222 call disp%show(
"isMatClass(rand, hermitian)")
231 call disp%show(
"ndim = getUnifRand(2, 10)")
233 call disp%show(
"call setResized(rand, [ndim, ndim])")
237 call disp%show(
"call setCovRand(rngf, rand, dvine, eta = 0._TKG, scale = [(real(itry, TKG), itry = 1, ndim)])")
238 call setCovRand(
rngf, rand,
dvine, eta
= 0._TKG, scale
= [(
real(itry, TKG), itry
= 1, ndim)])
241 call disp%show(
"isMatClass(rand, posdefmat)")
245 call disp%show(
"call setCovRand(rngf, rand, onion, eta = 0._TKG, scale = [(real(itry, TKG), itry = 1, ndim)])")
246 call setCovRand(
rngf, rand,
onion, eta
= 0._TKG, scale
= [(
real(itry, TKG), itry
= 1, ndim)])
251 call disp%show(
"isMatClass(rand, posdefmat)")
Allocate or resize (shrink or expand) an input allocatable scalar string or array of rank 1....
Generate and return a (collection) of random vector(s) of size ndim from the ndim-dimensional MultiVa...
Generate and return a scalar or a contiguous array of rank 1 of length s1 of randomly uniformly distr...
This is a generic method of the derived type display_type with pass attribute.
This is a generic method of the derived type display_type with pass attribute.
[LEGACY code] Return the lower-triangle of the Cholesky factorization of the symmetric positive-def...
Generate and return .true. if and only if the input matrix is of the specified input class.
Generate and return the determinant of the input general square matrix.
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
type(onion_type) onion
The scalar module variable object of type onion_type implying the use of the Onion algorithm for gene...
type(dvine_type), parameter dvine
The scalar constant of type dvine_type implying the use of the Dvine algorithm for generating random ...
This module contains classes and procedures for computing various statistical quantities related to t...
This module contains classes and procedures for computing various statistical quantities related to t...
type(rngf_type) rngf
The scalar constant object of type rngf_type whose presence signified the use of the Fortran intrinsi...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
integer, parameter RKD
The double precision real kind in Fortran mode. On most platforms, this is an 64-bit real kind.
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
integer, parameter RKS
The single-precision real kind in Fortran mode. On most platforms, this is an 32-bit real kind.
This module contains procedures and generic interfaces for computing the Cholesky factorization of po...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(posdefmat_type), parameter posdefmat
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
type(hermitian_type), parameter hermitian
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
This module contains procedures and generic interfaces relevant to the computation of the determinant...
Generate and return an object of type display_type.
The derived type that can be used for constructing containers of format or left and right delimiters ...