21 integer(IK) :: info, ndim, itry, ntry
= 10
22 character(:, SK),
allocatable :: format
23 type(display_type) :: disp
28 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
29 call disp%show(
"! Compute the sqrt of the determinant of the positive definite matrix.")
30 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
35 real(TKG),
allocatable :: mat(:,:)
36 real(TKG) :: detSqrtLog
37 format = getFormat(mold
= [
0._TKG], ed
= SK_
"e")
40 call disp%show(
"ndim = getUnifRand(1, 5)")
44 call disp%show(
"call setResized(mat, [ndim, ndim + 1])")
46 call disp%show(
"mat(:,1:ndim) = getCovRand(mold = 1._TKG, ndim = ndim)")
47 mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
49 call disp%show( mat(:,
1:ndim) ,
format = format )
50 call disp%show(
"mat(:,1:ndim) = getMatCopy(rdpack, mat(:,1:ndim), rdpack, lowDia, init = 0._TKG) ! reset the upper.")
51 mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
53 call disp%show( mat(:,
1:ndim) ,
format = format )
54 call disp%show(
"call setMatDetSqrtLog(mat(:,1:ndim), lowDia, detSqrtLog, info, mat(:,2:ndim+1), transHerm)")
55 call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
56 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
57 if (info
/= 0)
error stop 'Cholesky factorization failed.'
61 call disp%show( mat ,
format = format )
62 call disp%show(
"getMatChol(mat(:,1:ndim), lowDia)")
64 call disp%show(
"getMatMulTraceLog(getMatChol(mat(:,1:ndim), lowDia)) ! for comparison.")
66 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(mat(:,1:ndim), lowDia)) ! must be one.")
69 call disp%show(
"mat(:,2:ndim+1) = getCovRand(mold = 1._TKG, ndim = ndim)")
70 mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
71 call disp%show(
"mat(:,2:ndim+1) = getMatCopy(rdpack, mat(:,2:ndim+1), rdpack, uppDia, init = 0._TKG) ! reset the lower.")
72 mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
74 call disp%show( mat(:,
2:ndim
+1) ,
format = format )
75 call disp%show(
"call setMatDetSqrtLog(mat(:,2:ndim+1), uppDia, detSqrtLog, info, mat(:,1:ndim), transHerm)")
76 call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
77 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
78 if (info
/= 0)
error stop 'Cholesky factorization failed.'
82 call disp%show( mat ,
format = format )
83 call disp%show(
"getMatChol(mat(:,2:ndim+1), uppDia)")
85 call disp%show(
"getMatMulTraceLog(getMatChol(mat(:,2:ndim+1), uppDia)) ! for comparison.")
87 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(mat(:,2:ndim+1), uppDia)) ! must be one.")
95 integer(IK),
parameter :: ndim
= 3
96 complex(TKG),
allocatable :: tmp(:,:)
97 complex(TKG),
parameter :: mat(
*,
*)
= reshape( [ (
9.0,
0.0), (
3.0,
3.0), (
3.0,
-3.0)
&
98 , (
3.0,
-3.0),(
18.0,
0.0), (
8.0,
-6.0)
&
99 , (
3.0,
3.0), (
8.0,
6.0),(
43.0,
0.0)
&
100 ], shape
= [ndim, ndim], order
= [
2,
1])
101 real(TKG) :: detSqrtLog
102 format = getFormat(
mold = [(
0._TKG,
0._TKG)], ed
= SK_
"e")
105 call disp%show( mat ,
format = format )
106 call disp%show(
"call setResized(tmp, [ndim, ndim + 1])")
108 call disp%show(
"tmp(:,1:ndim) = getMatCopy(rdpack, mat, rdpack, lowDia, init = (0._TKG, 0._TKG)) ! reset the upper.")
109 tmp(:,
1:ndim)
= getMatCopy(rdpack, mat, rdpack, lowDia, init
= (
0._TKG,
0._TKG))
111 call disp%show( tmp(:,
1:ndim) ,
format = format )
112 call disp%show(
"call setMatDetSqrtLog(tmp(:,1:ndim), lowDia, detSqrtLog, info, tmp(:,2:ndim+1), transHerm)")
113 call setMatDetSqrtLog(tmp(:,
1:ndim), lowDia, detSqrtLog, info, tmp(:,
2:ndim
+1), transHerm)
114 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
115 if (info
/= 0)
error stop 'Cholesky factorization failed.'
119 call disp%show( tmp ,
format = format )
120 call disp%show(
"getMatMulTraceLog(getMatChol(tmp(:,1:ndim), lowDia)) ! for comparison.")
122 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(tmp(:,1:ndim), lowDia)) ! must be one")
125 call disp%show(
"tmp(:,2:ndim+1) = getMatCopy(rdpack, mat(:,1:ndim), rdpack, uppDia, init = (0._TKG, 0._TKG)) ! reset the upper.")
126 tmp(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, uppDia, init
= (
0._TKG,
0._TKG))
128 call disp%show( tmp(:,
2:ndim
+1) ,
format = format )
129 call disp%show(
"call setMatDetSqrtLog(tmp(:,2:ndim+1), uppDia, detSqrtLog, info, tmp(:,1:ndim), transHerm)")
130 call setMatDetSqrtLog(tmp(:,
2:ndim
+1), uppDia, detSqrtLog, info, tmp(:,
1:ndim), transHerm)
131 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
132 if (info
/= 0)
error stop 'Cholesky factorization failed.'
136 call disp%show( tmp ,
format = format )
137 call disp%show(
"getMatMulTraceLog(getMatChol(tmp(:,2:ndim+1), uppDia)) ! for comparison.")
139 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(tmp(:,2:ndim+1), uppDia)) ! must be one.")
146 integer(IK),
parameter :: ndim
= 3
147 complex(TKG),
allocatable :: tmp(:,:)
148 complex(TKG),
parameter :: mat(
*,
*)
= reshape( [ (
25.0,
0.0), (
-5.0,
-5.0), (
10.0,
5.0)
&
149 , (
-5.0,
5.0), (
51.0,
0.0), (
4.0,
-6.0)
&
150 , (
10.0,
-5.0), (
4.0,
6.0), (
71.0,
0.0)
&
151 ], shape
= [ndim, ndim], order
= [
2,
1])
152 real(TKG) :: detSqrtLog
153 format = getFormat(
mold = [(
0._TKG,
0._TKG)], ed
= SK_
"e")
156 call disp%show( mat ,
format = format )
157 call disp%show(
"call setResized(tmp, [ndim, ndim + 1])")
159 call disp%show(
"tmp(:,1:ndim) = getMatCopy(rdpack, mat, rdpack, lowDia, init = (0._TKG, 0._TKG)) ! reset the upper.")
160 tmp(:,
1:ndim)
= getMatCopy(rdpack, mat, rdpack, lowDia, init
= (
0._TKG,
0._TKG))
162 call disp%show( tmp(:,
1:ndim) ,
format = format )
163 call disp%show(
"call setMatDetSqrtLog(tmp(:,1:ndim), lowDia, detSqrtLog, info, tmp(:,2:ndim+1), transHerm)")
164 call setMatDetSqrtLog(tmp(:,
1:ndim), lowDia, detSqrtLog, info, tmp(:,
2:ndim
+1), transHerm)
165 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
166 if (info
/= 0)
error stop 'Cholesky factorization failed.'
170 call disp%show( tmp ,
format = format )
171 call disp%show(
"getMatMulTraceLog(getMatChol(tmp(:,1:ndim), lowDia)) ! for comparison.")
173 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(tmp(:,1:ndim), lowDia)) ! must be one")
176 call disp%show(
"tmp(:,2:ndim+1) = getMatCopy(rdpack, mat(:,1:ndim), rdpack, uppDia, init = (0._TKG, 0._TKG)) ! reset the upper.")
177 tmp(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, uppDia, init
= (
0._TKG,
0._TKG))
179 call disp%show( tmp(:,
2:ndim
+1) ,
format = format )
180 call disp%show(
"call setMatDetSqrtLog(tmp(:,2:ndim+1), uppDia, detSqrtLog, info, tmp(:,1:ndim), transHerm)")
181 call setMatDetSqrtLog(tmp(:,
2:ndim
+1), uppDia, detSqrtLog, info, tmp(:,
1:ndim), transHerm)
182 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
183 if (info
/= 0)
error stop 'Cholesky factorization failed.'
187 call disp%show( tmp ,
format = format )
188 call disp%show(
"getMatMulTraceLog(getMatChol(tmp(:,2:ndim+1), uppDia)) ! for comparison.")
190 call disp%show(
"detSqrtLog - getMatMulTraceLog(getMatChol(tmp(:,2:ndim+1), uppDia)) ! must be one.")
Allocate or resize (shrink or expand) an input allocatable scalar string or array of rank 1....
Generate and return a random positive-definite (correlation or covariance) matrix using the Gram meth...
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.
Generate and return the upper or the lower Cholesky factorization of the input symmetric positive-def...
Generate and return a copy of a desired subset of the input source matrix of arbitrary shape (:) or (...
Generate and return the natural logarithm of the square-root of the determinant of the input positive...
Generate and return the full inverse of an input matrix of general or triangular form directly or thr...
Generate and return the natural logarithm of the multiplicative trace of an input square matrix of ty...
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
This module contains classes and procedures for generating random matrices distributed on the space o...
This module contains classes and procedures for computing various statistical quantities related to t...
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 CKS
The single-precision complex kind in Fortran mode. On most platforms, this is a 32-bit real kind.
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
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 procedures and generic interfaces relevant to copying (diagonal or upper/lower t...
This module contains abstract and concrete derived types and procedures related to the inversion of s...
This module contains procedures and generic interfaces for computing the additive or multiplicative t...
Generate and return an object of type display_type.
11mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
13 0.100000E+01,
-0.981024E+00,
-0.807195E+00,
-0.702849E+00,
-0.282062E+00
14-0.981024E+00,
0.100000E+01,
0.765316E+00,
0.657443E+00,
0.398481E+00
15-0.807195E+00,
0.765316E+00,
0.100000E+01,
0.294366E+00,
0.402081E+00
16-0.702849E+00,
0.657443E+00,
0.294366E+00,
0.100000E+01,
-0.280745E+00
17-0.282062E+00,
0.398481E+00,
0.402081E+00,
-0.280745E+00,
0.100000E+01
18mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
20 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
21-0.981024E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
22-0.807195E+00,
0.765316E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00
23-0.702849E+00,
0.657443E+00,
0.294366E+00,
0.100000E+01,
0.000000E+00
24-0.282062E+00,
0.398481E+00,
0.402081E+00,
-0.280745E+00,
0.100000E+01
25call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
26if (info
/= 0)
error stop 'Cholesky factorization failed.'
30 0.100000E+01,
0.100000E+01,
-0.981024E+00,
-0.807195E+00,
-0.702849E+00,
-0.282062E+00
31-0.981024E+00,
0.100000E+01,
0.193888E+00,
-0.136995E+00,
-0.165394E+00,
0.628048E+00
32-0.807195E+00,
0.765316E+00,
0.100000E+01,
0.574167E+00,
-0.514883E+00,
0.453598E+00
33-0.702849E+00,
0.657443E+00,
0.294366E+00,
0.100000E+01,
0.462108E+00,
-0.306351E+00
34-0.282062E+00,
0.398481E+00,
0.402081E+00,
-0.280745E+00,
0.100000E+01,
0.475809E+00
36 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
37-0.981024E+00,
0.193888E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
38-0.807195E+00,
-0.136995E+00,
0.574167E+00,
0.000000E+00,
0.000000E+00
39-0.702849E+00,
-0.165394E+00,
-0.514883E+00,
0.462108E+00,
0.000000E+00
40-0.282062E+00,
0.628048E+00,
0.453598E+00,
-0.306351E+00,
0.475809E+00
46mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
47mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
49 0.100000E+01,
-0.173145E+00,
-0.155464E+00,
-0.278116E+00,
0.445956E+00
50 0.000000E+00,
0.100000E+01,
-0.819725E+00,
0.750250E+00,
-0.548509E+00
51 0.000000E+00,
0.000000E+00,
0.100000E+01,
-0.848054E+00,
0.678673E-01
52 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01,
-0.845793E-01
53 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01
54call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
55if (info
/= 0)
error stop 'Cholesky factorization failed.'
59 0.100000E+01,
0.100000E+01,
-0.173145E+00,
-0.155464E+00,
-0.278116E+00,
0.445956E+00
60-0.173145E+00,
0.984896E+00,
0.100000E+01,
-0.819725E+00,
0.750250E+00,
-0.548509E+00
61-0.155464E+00,
-0.859626E+00,
0.486697E+00,
0.100000E+01,
-0.848054E+00,
0.678673E-01
62-0.278116E+00,
0.712863E+00,
-0.572216E+00,
0.295038E+00,
0.100000E+01,
-0.845793E-01
63 0.445956E+00,
-0.478522E+00,
-0.563292E+00,
0.197410E+00,
0.464620E+00,
0.100000E+01
65 0.100000E+01,
-0.173145E+00,
-0.155464E+00,
-0.278116E+00,
0.445956E+00
66 0.000000E+00,
0.984896E+00,
-0.859626E+00,
0.712863E+00,
-0.478522E+00
67 0.000000E+00,
0.000000E+00,
0.486697E+00,
-0.572216E+00,
-0.563292E+00
68 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.295038E+00,
0.197410E+00
69 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.464620E+00
80mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
83mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
86call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
87if (info
/= 0)
error stop 'Cholesky factorization failed.'
91 0.100000E+01,
0.100000E+01
99mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
100mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
103call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
104if (info
/= 0)
error stop 'Cholesky factorization failed.'
108 0.100000E+01,
0.100000E+01
121mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
123 0.100000E+01,
0.803510E+00
124 0.803510E+00,
0.100000E+01
125mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
127 0.100000E+01,
0.000000E+00
128 0.803510E+00,
0.100000E+01
129call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
130if (info
/= 0)
error stop 'Cholesky factorization failed.'
134 0.100000E+01,
0.100000E+01,
0.803510E+00
135 0.803510E+00,
0.100000E+01,
0.595292E+00
137 0.100000E+01,
0.000000E+00
138 0.803510E+00,
0.595292E+00
144mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
145mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
147 0.100000E+01,
0.563573E+00
148 0.000000E+00,
0.100000E+01
149call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
150if (info
/= 0)
error stop 'Cholesky factorization failed.'
154 0.100000E+01,
0.100000E+01,
0.563573E+00
155 0.563573E+00,
0.826067E+00,
0.100000E+01
157 0.100000E+01,
0.563573E+00
158 0.000000E+00,
0.826067E+00
169mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
171 0.100000E+01,
-0.989069E+00,
0.632195E+00,
0.501644E+00
172-0.989069E+00,
0.100000E+01,
-0.676797E+00,
-0.586130E+00
173 0.632195E+00,
-0.676797E+00,
0.100000E+01,
0.281726E+00
174 0.501644E+00,
-0.586130E+00,
0.281726E+00,
0.100000E+01
175mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
177 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
178-0.989069E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00
179 0.632195E+00,
-0.676797E+00,
0.100000E+01,
0.000000E+00
180 0.501644E+00,
-0.586130E+00,
0.281726E+00,
0.100000E+01
181call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
182if (info
/= 0)
error stop 'Cholesky factorization failed.'
186 0.100000E+01,
0.100000E+01,
-0.989069E+00,
0.632195E+00,
0.501644E+00
187-0.989069E+00,
0.100000E+01,
0.147455E+00,
-0.349342E+00,
-0.610152E+00
188 0.632195E+00,
-0.676797E+00,
0.100000E+01,
0.691585E+00,
-0.359409E+00
189 0.501644E+00,
-0.586130E+00,
0.281726E+00,
0.100000E+01,
0.496884E+00
191 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
192-0.989069E+00,
0.147455E+00,
0.000000E+00,
0.000000E+00
193 0.632195E+00,
-0.349342E+00,
0.691585E+00,
0.000000E+00
194 0.501644E+00,
-0.610152E+00,
-0.359409E+00,
0.496884E+00
200mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
201mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
203 0.100000E+01,
-0.860287E+00,
0.724564E+00,
-0.345541E+00
204 0.000000E+00,
0.100000E+01,
-0.295646E+00,
-0.353903E-02
205 0.000000E+00,
0.000000E+00,
0.100000E+01,
-0.538205E+00
206 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01
207call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
208if (info
/= 0)
error stop 'Cholesky factorization failed.'
212 0.100000E+01,
0.100000E+01,
-0.860287E+00,
0.724564E+00,
-0.345541E+00
213-0.860287E+00,
0.509811E+00,
0.100000E+01,
-0.295646E+00,
-0.353903E-02
214 0.724564E+00,
0.642762E+00,
0.248723E+00,
0.100000E+01,
-0.538205E+00
215-0.345541E+00,
-0.590030E+00,
0.367522E+00,
0.630392E+00,
0.100000E+01
217 0.100000E+01,
-0.860287E+00,
0.724564E+00,
-0.345541E+00
218 0.000000E+00,
0.509811E+00,
0.642762E+00,
-0.590030E+00
219 0.000000E+00,
0.000000E+00,
0.248723E+00,
0.367522E+00
220 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.630392E+00
231mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
233 0.100000E+01,
-0.597432E+00
234-0.597432E+00,
0.100000E+01
235mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
237 0.100000E+01,
0.000000E+00
238-0.597432E+00,
0.100000E+01
239call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
240if (info
/= 0)
error stop 'Cholesky factorization failed.'
244 0.100000E+01,
0.100000E+01,
-0.597432E+00
245-0.597432E+00,
0.100000E+01,
0.801920E+00
247 0.100000E+01,
0.000000E+00
248-0.597432E+00,
0.801920E+00
254mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
255mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
257 0.100000E+01,
-0.275754E+00
258 0.000000E+00,
0.100000E+01
259call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
260if (info
/= 0)
error stop 'Cholesky factorization failed.'
264 0.100000E+01,
0.100000E+01,
-0.275754E+00
265-0.275754E+00,
0.961228E+00,
0.100000E+01
267 0.100000E+01,
-0.275754E+00
268 0.000000E+00,
0.961228E+00
279mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
281 0.100000E+01,
-0.989510E+00,
0.386073E+00,
0.819919E+00
282-0.989510E+00,
0.100000E+01,
-0.490753E+00,
-0.847928E+00
283 0.386073E+00,
-0.490753E+00,
0.100000E+01,
0.666666E+00
284 0.819919E+00,
-0.847928E+00,
0.666666E+00,
0.100000E+01
285mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
287 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
288-0.989510E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00
289 0.386073E+00,
-0.490753E+00,
0.100000E+01,
0.000000E+00
290 0.819919E+00,
-0.847928E+00,
0.666666E+00,
0.100000E+01
291call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
292if (info
/= 0)
error stop 'Cholesky factorization failed.'
296 0.100000E+01,
0.100000E+01,
-0.989510E+00,
0.386073E+00,
0.819919E+00
297-0.989510E+00,
0.100000E+01,
0.144468E+00,
-0.752624E+00,
-0.253416E+00
298 0.386073E+00,
-0.490753E+00,
0.100000E+01,
0.533389E+00,
0.298825E+00
299 0.819919E+00,
-0.847928E+00,
0.666666E+00,
0.100000E+01,
0.417394E+00
301 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
302-0.989510E+00,
0.144468E+00,
0.000000E+00,
0.000000E+00
303 0.386073E+00,
-0.752624E+00,
0.533389E+00,
0.000000E+00
304 0.819919E+00,
-0.253416E+00,
0.298825E+00,
0.417394E+00
310mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
311mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
313 0.100000E+01,
-0.947685E+00,
0.503152E+00,
0.739516E+00
314 0.000000E+00,
0.100000E+01,
-0.715148E+00,
-0.533841E+00
315 0.000000E+00,
0.000000E+00,
0.100000E+01,
0.469112E-01
316 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01
317call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
318if (info
/= 0)
error stop 'Cholesky factorization failed.'
322 0.100000E+01,
0.100000E+01,
-0.947685E+00,
0.503152E+00,
0.739516E+00
323-0.947685E+00,
0.319206E+00,
0.100000E+01,
-0.715148E+00,
-0.533841E+00
324 0.503152E+00,
-0.746598E+00,
0.435235E+00,
0.100000E+01,
0.469112E-01
325 0.739516E+00,
0.523136E+00,
0.150250E+00,
0.396067E+00,
0.100000E+01
327 0.100000E+01,
-0.947685E+00,
0.503152E+00,
0.739516E+00
328 0.000000E+00,
0.319206E+00,
-0.746598E+00,
0.523136E+00
329 0.000000E+00,
0.000000E+00,
0.435235E+00,
0.150250E+00
330 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.396067E+00
341mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
343 0.100000E+01,
0.736853E+00,
0.918539E+00,
-0.263893E-01,
0.770495E+00
344 0.736853E+00,
0.100000E+01,
0.891344E+00,
-0.358091E+00,
0.302522E+00
345 0.918539E+00,
0.891344E+00,
0.100000E+01,
-0.323577E+00,
0.532899E+00
346-0.263893E-01,
-0.358091E+00,
-0.323577E+00,
0.100000E+01,
0.415947E+00
347 0.770495E+00,
0.302522E+00,
0.532899E+00,
0.415947E+00,
0.100000E+01
348mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
350 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
351 0.736853E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00
352 0.918539E+00,
0.891344E+00,
0.100000E+01,
0.000000E+00,
0.000000E+00
353-0.263893E-01,
-0.358091E+00,
-0.323577E+00,
0.100000E+01,
0.000000E+00
354 0.770495E+00,
0.302522E+00,
0.532899E+00,
0.415947E+00,
0.100000E+01
355call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
356if (info
/= 0)
error stop 'Cholesky factorization failed.'
360 0.100000E+01,
0.100000E+01,
0.736853E+00,
0.918539E+00,
-0.263893E-01,
0.770495E+00
361 0.736853E+00,
0.100000E+01,
0.676053E+00,
0.317307E+00,
-0.500916E+00,
-0.392306E+00
362 0.918539E+00,
0.891344E+00,
0.100000E+01,
0.235803E+00,
-0.595383E+00,
-0.213521E+00
363-0.263893E-01,
-0.358091E+00,
-0.323577E+00,
0.100000E+01,
0.627619E+00,
0.179473E+00
364 0.770495E+00,
0.302522E+00,
0.532899E+00,
0.415947E+00,
0.100000E+01,
0.417889E+00
366 0.100000E+01,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
367 0.736853E+00,
0.676053E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00
368 0.918539E+00,
0.317307E+00,
0.235803E+00,
0.000000E+00,
0.000000E+00
369-0.263893E-01,
-0.500916E+00,
-0.595383E+00,
0.627619E+00,
0.000000E+00
370 0.770495E+00,
-0.392306E+00,
-0.213521E+00,
0.179473E+00,
0.417889E+00
376mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
377mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
379 0.100000E+01,
0.930178E+00,
-0.225584E+00,
-0.490474E+00,
-0.372734E+00
380 0.000000E+00,
0.100000E+01,
0.494317E-01,
-0.768959E+00,
-0.475243E+00
381 0.000000E+00,
0.000000E+00,
0.100000E+01,
-0.600441E+00,
-0.496376E+00
382 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01,
0.519754E+00
383 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.100000E+01
384call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
385if (info
/= 0)
error stop 'Cholesky factorization failed.'
389 0.100000E+01,
0.100000E+01,
0.930178E+00,
-0.225584E+00,
-0.490474E+00,
-0.372734E+00
390 0.930178E+00,
0.367109E+00,
0.100000E+01,
0.494317E-01,
-0.768959E+00,
-0.475243E+00
391-0.225584E+00,
0.706234E+00,
0.671078E+00,
0.100000E+01,
-0.600441E+00,
-0.496376E+00
392-0.490474E+00,
-0.851874E+00,
-0.163113E+00,
0.845012E-01,
0.100000E+01,
0.519754E+00
393-0.372734E+00,
-0.350126E+00,
-0.496496E+00,
-0.500703E+00,
0.491192E+00,
0.100000E+01
395 0.100000E+01,
0.930178E+00,
-0.225584E+00,
-0.490474E+00,
-0.372734E+00
396 0.000000E+00,
0.367109E+00,
0.706234E+00,
-0.851874E+00,
-0.350126E+00
397 0.000000E+00,
0.000000E+00,
0.671078E+00,
-0.163113E+00,
-0.496496E+00
398 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.845012E-01,
-0.500703E+00
399 0.000000E+00,
0.000000E+00,
0.000000E+00,
0.000000E+00,
0.491192E+00
410mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
412 0.100000E+01,
0.926814E+00
413 0.926814E+00,
0.100000E+01
414mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
416 0.100000E+01,
0.000000E+00
417 0.926814E+00,
0.100000E+01
418call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
419if (info
/= 0)
error stop 'Cholesky factorization failed.'
423 0.100000E+01,
0.100000E+01,
0.926814E+00
424 0.926814E+00,
0.100000E+01,
0.375520E+00
426 0.100000E+01,
0.000000E+00
427 0.926814E+00,
0.375520E+00
433mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
434mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
436 0.100000E+01,
-0.360922E+00
437 0.000000E+00,
0.100000E+01
438call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
439if (info
/= 0)
error stop 'Cholesky factorization failed.'
443 0.100000E+01,
0.100000E+01,
-0.360922E+00
444-0.360922E+00,
0.932596E+00,
0.100000E+01
446 0.100000E+01,
-0.360922E+00
447 0.000000E+00,
0.932596E+00
458mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
460 0.100000E+01,
0.939151E+00
461 0.939151E+00,
0.100000E+01
462mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
464 0.100000E+01,
0.000000E+00
465 0.939151E+00,
0.100000E+01
466call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
467if (info
/= 0)
error stop 'Cholesky factorization failed.'
471 0.100000E+01,
0.100000E+01,
0.939151E+00
472 0.939151E+00,
0.100000E+01,
0.343504E+00
474 0.100000E+01,
0.000000E+00
475 0.939151E+00,
0.343504E+00
481mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
482mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
484 0.100000E+01,
-0.150104E+00
485 0.000000E+00,
0.100000E+01
486call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
487if (info
/= 0)
error stop 'Cholesky factorization failed.'
491 0.100000E+01,
0.100000E+01,
-0.150104E+00
492-0.150104E+00,
0.988670E+00,
0.100000E+01
494 0.100000E+01,
-0.150104E+00
495 0.000000E+00,
0.988670E+00
506mat(:,
1:ndim)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
508 0.100000E+01,
-0.691536E+00,
0.430271E+00
509-0.691536E+00,
0.100000E+01,
-0.160519E+00
510 0.430271E+00,
-0.160519E+00,
0.100000E+01
511mat(:,
1:ndim)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, lowDia, init
= 0._TKG)
513 0.100000E+01,
0.000000E+00,
0.000000E+00
514-0.691536E+00,
0.100000E+01,
0.000000E+00
515 0.430271E+00,
-0.160519E+00,
0.100000E+01
516call setMatDetSqrtLog(mat(:,
1:ndim), lowDia, detSqrtLog, info, mat(:,
2:ndim
+1), transHerm)
517if (info
/= 0)
error stop 'Cholesky factorization failed.'
521 0.100000E+01,
0.100000E+01,
-0.691536E+00,
0.430271E+00
522-0.691536E+00,
0.100000E+01,
0.722342E+00,
0.189701E+00
523 0.430271E+00,
-0.160519E+00,
0.100000E+01,
0.882542E+00
525 0.100000E+01,
0.000000E+00,
0.000000E+00
526-0.691536E+00,
0.722342E+00,
0.000000E+00
527 0.430271E+00,
0.189701E+00,
0.882542E+00
533mat(:,
2:ndim
+1)
= getCovRand(
mold = 1._TKG, ndim
= ndim)
534mat(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
2:ndim
+1), rdpack, uppDia, init
= 0._TKG)
536 0.100000E+01,
0.739000E+00,
0.697827E+00
537 0.000000E+00,
0.100000E+01,
0.831346E+00
538 0.000000E+00,
0.000000E+00,
0.100000E+01
539call setMatDetSqrtLog(mat(:,
2:ndim
+1), uppDia, detSqrtLog, info, mat(:,
1:ndim), transHerm)
540if (info
/= 0)
error stop 'Cholesky factorization failed.'
544 0.100000E+01,
0.100000E+01,
0.739000E+00,
0.697827E+00
545 0.739000E+00,
0.673705E+00,
0.100000E+01,
0.831346E+00
546 0.697827E+00,
0.468531E+00,
0.541772E+00,
0.100000E+01
548 0.100000E+01,
0.739000E+00,
0.697827E+00
549 0.000000E+00,
0.673705E+00,
0.468531E+00
550 0.000000E+00,
0.000000E+00,
0.541772E+00
558(
0.900000E+01,
0.000000E+00), (
0.300000E+01,
0.300000E+01), (
0.300000E+01,
-0.300000E+01)
559(
0.300000E+01,
-0.300000E+01), (
0.180000E+02,
0.000000E+00), (
0.800000E+01,
-0.600000E+01)
560(
0.300000E+01,
0.300000E+01), (
0.800000E+01,
0.600000E+01), (
0.430000E+02,
0.000000E+00)
562tmp(:,
1:ndim)
= getMatCopy(rdpack, mat, rdpack, lowDia, init
= (
0._TKG,
0._TKG))
564(
0.900000E+01,
0.000000E+00), (
0.000000E+00,
0.000000E+00), (
0.000000E+00,
0.000000E+00)
565(
0.300000E+01,
-0.300000E+01), (
0.180000E+02,
0.000000E+00), (
0.000000E+00,
0.000000E+00)
566(
0.300000E+01,
0.300000E+01), (
0.800000E+01,
0.600000E+01), (
0.430000E+02,
0.000000E+00)
567call setMatDetSqrtLog(tmp(:,
1:ndim), lowDia, detSqrtLog, info, tmp(:,
2:ndim
+1), transHerm)
568if (info
/= 0)
error stop 'Cholesky factorization failed.'
572(
0.900000E+01,
0.000000E+00), (
0.300000E+01,
0.000000E+00), (
0.100000E+01,
0.100000E+01), (
0.100000E+01,
-0.100000E+01)
573(
0.300000E+01,
-0.300000E+01), (
0.180000E+02,
0.000000E+00), (
0.400000E+01,
0.000000E+00), (
0.200000E+01,
-0.100000E+01)
574(
0.300000E+01,
0.300000E+01), (
0.800000E+01,
0.600000E+01), (
0.430000E+02,
0.000000E+00), (
0.600000E+01,
0.000000E+00)
576(
+4.27666616,
+0.00000000)
578(
+0.00000000,
+0.00000000)
580tmp(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, uppDia, init
= (
0._TKG,
0._TKG))
582(
0.900000E+01,
0.000000E+00), (
0.300000E+01,
0.300000E+01), (
0.300000E+01,
-0.300000E+01)
583(
0.000000E+00,
0.000000E+00), (
0.180000E+02,
0.000000E+00), (
0.800000E+01,
-0.600000E+01)
584(
0.000000E+00,
0.000000E+00), (
0.000000E+00,
0.000000E+00), (
0.430000E+02,
0.000000E+00)
585call setMatDetSqrtLog(tmp(:,
2:ndim
+1), uppDia, detSqrtLog, info, tmp(:,
1:ndim), transHerm)
586if (info
/= 0)
error stop 'Cholesky factorization failed.'
590(
0.300000E+01,
0.000000E+00), (
0.900000E+01,
0.000000E+00), (
0.300000E+01,
0.300000E+01), (
0.300000E+01,
-0.300000E+01)
591(
0.100000E+01,
-0.100000E+01), (
0.400000E+01,
0.000000E+00), (
0.180000E+02,
0.000000E+00), (
0.800000E+01,
-0.600000E+01)
592(
0.100000E+01,
0.100000E+01), (
0.200000E+01,
0.100000E+01), (
0.600000E+01,
0.000000E+00), (
0.430000E+02,
0.000000E+00)
594(
+4.27666616,
+0.00000000)
596(
+0.00000000,
+0.00000000)
600(
0.250000E+02,
0.000000E+00), (
-0.500000E+01,
-0.500000E+01), (
0.100000E+02,
0.500000E+01)
601(
-0.500000E+01,
0.500000E+01), (
0.510000E+02,
0.000000E+00), (
0.400000E+01,
-0.600000E+01)
602(
0.100000E+02,
-0.500000E+01), (
0.400000E+01,
0.600000E+01), (
0.710000E+02,
0.000000E+00)
604tmp(:,
1:ndim)
= getMatCopy(rdpack, mat, rdpack, lowDia, init
= (
0._TKG,
0._TKG))
606(
0.250000E+02,
0.000000E+00), (
0.000000E+00,
0.000000E+00), (
0.000000E+00,
0.000000E+00)
607(
-0.500000E+01,
0.500000E+01), (
0.510000E+02,
0.000000E+00), (
0.000000E+00,
0.000000E+00)
608(
0.100000E+02,
-0.500000E+01), (
0.400000E+01,
0.600000E+01), (
0.710000E+02,
0.000000E+00)
609call setMatDetSqrtLog(tmp(:,
1:ndim), lowDia, detSqrtLog, info, tmp(:,
2:ndim
+1), transHerm)
610if (info
/= 0)
error stop 'Cholesky factorization failed.'
614(
0.250000E+02,
0.000000E+00), (
0.500000E+01,
0.000000E+00), (
-0.100000E+01,
-0.100000E+01), (
0.200000E+01,
0.100000E+01)
615(
-0.500000E+01,
0.500000E+01), (
0.510000E+02,
0.000000E+00), (
0.700000E+01,
0.000000E+00), (
0.100000E+01,
-0.100000E+01)
616(
0.100000E+02,
-0.500000E+01), (
0.400000E+01,
0.600000E+01), (
0.710000E+02,
0.000000E+00), (
0.800000E+01,
0.000000E+00)
618(
+5.63478947,
+0.00000000)
620(
+0.00000000,
+0.00000000)
622tmp(:,
2:ndim
+1)
= getMatCopy(rdpack, mat(:,
1:ndim), rdpack, uppDia, init
= (
0._TKG,
0._TKG))
624(
0.250000E+02,
0.000000E+00), (
-0.500000E+01,
-0.500000E+01), (
0.100000E+02,
0.500000E+01)
625(
0.000000E+00,
0.000000E+00), (
0.510000E+02,
0.000000E+00), (
0.400000E+01,
-0.600000E+01)
626(
0.000000E+00,
0.000000E+00), (
0.000000E+00,
0.000000E+00), (
0.710000E+02,
0.000000E+00)
627call setMatDetSqrtLog(tmp(:,
2:ndim
+1), uppDia, detSqrtLog, info, tmp(:,
1:ndim), transHerm)
628if (info
/= 0)
error stop 'Cholesky factorization failed.'
632(
0.500000E+01,
0.000000E+00), (
0.250000E+02,
0.000000E+00), (
-0.500000E+01,
-0.500000E+01), (
0.100000E+02,
0.500000E+01)
633(
-0.100000E+01,
0.100000E+01), (
0.700000E+01,
0.000000E+00), (
0.510000E+02,
0.000000E+00), (
0.400000E+01,
-0.600000E+01)
634(
0.200000E+01,
-0.100000E+01), (
0.100000E+01,
0.100000E+01), (
0.800000E+01,
0.000000E+00), (
0.710000E+02,
0.000000E+00)
636(
+5.63478947,
+0.00000000)
638(
+0.00000000,
+0.00000000)