ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_sampleVar::setVarMerged Interface Reference

Return the (weighted) merged variance of a complex or real sample resulting from the merger of two separate (weighted) samples \(A\) and \(B\).
More...

Detailed Description

Return the (weighted) merged variance of a complex or real sample resulting from the merger of two separate (weighted) samples \(A\) and \(B\).

See the documentation of pm_sampleVar for more information and definition online updating of sample variance.

Note
The input and output variances of this generic interface are all biased variances.
A biased variance can be readily unbiased by multiplying it with the appropriate bias-correction factors detailed in the documentation of pm_sampleVar.
Parameters
[out]varMerged: The output object of the same type and kind and rank and shape as varA, containing the biased variance of the sample resulting form the merger of the two samples.
(optional. If missing, the resulting merged variance will be written to the argument varB.)
[in,out]varB: The input or input/output object of the same type and kind and rank and shape as the input argument varA, containing the biased variance of the second sample that must be merged with the first sample.
If the input argument varMerged is missing, then varB contains the updated biased variance of the merged sample on return.
Otherwise, the contents of varB remain intact upon return.
[in]varA: The input scalar or contiguous vector of shape (1:ndim) of type real of the same kind as the kind of the input argument meanDiff, containing the biased variance of the first sample that must be merged with the second sample.
[in]meanDiff: The input object of
  1. type complex of kind any supported by the processor (e.g., CK, CK32, CK64, or CK128),
  2. type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128),
containing the difference of mean of the two samples meanDiff = meanA - meanB.
The subtraction order is immaterial.
[in]fracA: The input scalar of type real of the same kind as kind of varA, containing the ratio of the sum of the weights of all points in sample \(A\) to sum of weights of all points in the merged sample.
If the sample is unweighted, then fracA is simply size(sampleA) / (size(sampleA) + size(sampleB)).


Possible calling interfaces

! univariate sample
call setVarMerged( varB, varA, meanDiff, fracA)
call setVarMerged(varMerged, varB, varA, meanDiff, fracA)
! ndim-dimensional sample
call setVarMerged( varB(1:ndim), varA(1:ndim), meanDiff(1:ndim), fracA)
call setVarMerged(varMerged(1:ndim), varB(1:ndim), varA(1:ndim), meanDiff(1:ndim), fracA)
Return the (weighted) merged variance of a complex or real sample resulting from the merger of two se...
This module contains classes and procedures for computing the properties related to the covariance ma...
Warning
The condition 0 < fracA .and. fracA < 1 must hold for the corresponding input arguments.
The condition size(varB) == size(varA) must hold for the corresponding input arguments.
The condition size(varA) == size(meanDiff) must hold for the corresponding input arguments.
The condition size(varA) == size(varMearged) must hold for the corresponding input arguments.
The condition size(varA) == size(meanMearged) must hold for the corresponding input arguments.
These conditions are verified only if the library is built with the preprocessor macro CHECK_ENABLED=1.
The pure procedure(s) documented herein become impure when the ParaMonte library is compiled with preprocessor macro CHECK_ENABLED=1.
By default, these procedures are pure in release build and impure in debug and testing builds.
See also
getCor
setCor
getCov
setCov
getVar
setVar
getMean
setMean
getCovMerged
setCovMerged
getVarMerged
setVarMerged
getMeanMerged
setMeanMerged
setVarMeanMerged


Example usage

1program example
2
3 use pm_kind, only: SK, IK
4 use pm_kind, only: TKG => RKS ! All other real types are also supported.
5 use pm_sampleVar, only: getVar
6 use pm_sampleMean, only: getMean
10 use pm_distUnif, only: getUnifRand
11 use pm_arrayRange, only: getRange
12 use pm_io, only: display_type
13
14 implicit none
15
16 integer(IK), parameter :: nsam = 2
17 integer(IK), allocatable :: iweight(:)
18 integer(IK) :: isam, ndim, lb(nsam), ub(nsam)
19 integer(IK) :: dim, itry, ntry = 5
20 type(display_type) :: disp
21 disp = display_type(file = "main.out.F90")
22
23 call disp%skip()
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%show("!Compute the biased merged variance of a univariate sample.")
26 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
27 call disp%skip()
28
29 block
30 real(TKG) :: mean(1:nsam)
31 real(TKG), allocatable :: sample(:)
32 real(TKG) :: var(0:nsam), varMerged
33 do itry = 1, ntry
34 call disp%skip()
35 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
36 lb(1) = 1; ub(1) = getUnifRand(2, 7)
37 call disp%show("do isam = 2, nsam")
38 call disp%show(" lb(isam) = ub(isam - 1) + 1")
39 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
40 call disp%show("end do")
41 do isam = 2, nsam
42 lb(isam) = ub(isam - 1) + 1
43 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
44 end do
45 call disp%show("lb")
46 call disp%show( lb )
47 call disp%show("ub")
48 call disp%show( ub )
49 call disp%show("sample = getUnifRand(0., 1., ub(nsam))")
50 sample = getUnifRand(0., 1., ub(nsam))
51 call disp%show("sample")
52 call disp%show( sample )
53 call disp%show("var(0) = getVar(sample)")
54 var(0) = getVar(sample)
55 call disp%show("var(0) ! reference")
56 call disp%show( var(0) )
57 call disp%show("do isam = 1, nsam")
58 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)))")
59 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)))")
60 call disp%show("end do")
61 do isam = 1, nsam
62 var(isam) = getVar(sample(lb(isam):ub(isam)))
63 mean(isam) = getMean(sample(lb(isam):ub(isam)))
64 end do
65 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))")
66 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
67 call disp%show("varMerged")
68 call disp%show( varMerged )
69 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))")
70 call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
71 call disp%show("var(2)")
72 call disp%show( var(2) )
73 call disp%show("var(0) ! reference")
74 call disp%show( var(0) )
75 call disp%skip()
76 end do
77 end block
78
79 block
80 complex(TKG) :: mean(1:nsam)
81 complex(TKG), allocatable :: sample(:)
82 real(TKG) :: var(0:nsam), varMerged
83 do itry = 1, ntry
84 call disp%skip()
85 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
86 lb(1) = 1; ub(1) = getUnifRand(2, 7)
87 call disp%show("do isam = 2, nsam")
88 call disp%show(" lb(isam) = ub(isam - 1) + 1")
89 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
90 call disp%show("end do")
91 do isam = 2, nsam
92 lb(isam) = ub(isam - 1) + 1
93 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
94 end do
95 call disp%show("lb")
96 call disp%show( lb )
97 call disp%show("ub")
98 call disp%show( ub )
99 call disp%show("sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)")
100 sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
101 call disp%show("sample")
102 call disp%show( sample )
103 call disp%show("var(0) = getVar(sample)")
104 var(0) = getVar(sample)
105 call disp%show("var(0) ! reference")
106 call disp%show( var(0) )
107 call disp%show("do isam = 1, nsam")
108 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)))")
109 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)))")
110 call disp%show("end do")
111 do isam = 1, nsam
112 var(isam) = getVar(sample(lb(isam):ub(isam)))
113 mean(isam) = getMean(sample(lb(isam):ub(isam)))
114 end do
115 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))")
116 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
117 call disp%show("varMerged")
118 call disp%show( varMerged )
119 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))")
120 call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
121 call disp%show("var(2)")
122 call disp%show( var(2) )
123 call disp%show("var(0) ! reference")
124 call disp%show( var(0) )
125 call disp%skip()
126 end do
127 end block
128
129 call disp%skip()
130 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
131 call disp%show("!Compute the biased merged variance of a frequency weighted univariate sample.")
132 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
133 call disp%skip()
134
135 block
136 real(TKG) :: mean(1:nsam)
137 real(TKG), allocatable :: sample(:)
138 real(TKG) :: var(0:nsam), varMerged
139 do itry = 1, ntry
140 call disp%skip()
141 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
142 lb(1) = 1; ub(1) = getUnifRand(2, 7)
143 call disp%show("do isam = 2, nsam")
144 call disp%show(" lb(isam) = ub(isam - 1) + 1")
145 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
146 call disp%show("end do")
147 do isam = 2, nsam
148 lb(isam) = ub(isam - 1) + 1
149 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
150 end do
151 call disp%show("lb")
152 call disp%show( lb )
153 call disp%show("ub")
154 call disp%show( ub )
155 call disp%show("sample = getUnifRand(0., 1., ub(nsam))")
156 sample = getUnifRand(0., 1., ub(nsam))
157 call disp%show("sample")
158 call disp%show( sample )
159 call disp%show("iweight = getUnifRand(1, 10, size(sample, 1, IK))")
160 iweight = getUnifRand(1, 10, size(sample, 1, IK))
161 call disp%show("iweight")
162 call disp%show( iweight )
163 call disp%show("var(0) = getVar(sample, iweight)")
164 var(0) = getVar(sample, iweight)
165 call disp%show("var(0) ! reference")
166 call disp%show( var(0) )
167 call disp%show("do isam = 1, nsam")
168 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))")
169 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))")
170 call disp%show("end do")
171 do isam = 1, nsam
172 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
173 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
174 end do
175 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
176 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
177 call disp%show("varMerged")
178 call disp%show( varMerged )
179 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
180 call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
181 call disp%show("var(2)")
182 call disp%show( var(2) )
183 call disp%show("var(0) ! reference")
184 call disp%show( var(0) )
185 call disp%skip()
186 end do
187 end block
188
189 block
190 complex(TKG) :: mean(1:nsam)
191 complex(TKG), allocatable :: sample(:)
192 real(TKG) :: var(0:nsam), varMerged
193 do itry = 1, ntry
194 call disp%skip()
195 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
196 lb(1) = 1; ub(1) = getUnifRand(2, 7)
197 call disp%show("do isam = 2, nsam")
198 call disp%show(" lb(isam) = ub(isam - 1) + 1")
199 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
200 call disp%show("end do")
201 do isam = 2, nsam
202 lb(isam) = ub(isam - 1) + 1
203 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
204 end do
205 call disp%show("lb")
206 call disp%show( lb )
207 call disp%show("ub")
208 call disp%show( ub )
209 call disp%show("sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)")
210 sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
211 call disp%show("sample")
212 call disp%show( sample )
213 call disp%show("iweight = getUnifRand(1, 10, size(sample, 1, IK))")
214 iweight = getUnifRand(1, 10, size(sample, 1, IK))
215 call disp%show("iweight")
216 call disp%show( iweight )
217 call disp%show("var(0) = getVar(sample, iweight)")
218 var(0) = getVar(sample, iweight)
219 call disp%show("var(0) ! reference")
220 call disp%show( var(0) )
221 call disp%show("do isam = 1, nsam")
222 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))")
223 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))")
224 call disp%show("end do")
225 do isam = 1, nsam
226 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
227 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
228 end do
229 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
230 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
231 call disp%show("varMerged")
232 call disp%show( varMerged )
233 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
234 call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
235 call disp%show("var(2)")
236 call disp%show( var(2) )
237 call disp%show("var(0) ! reference")
238 call disp%show( var(0) )
239 call disp%skip()
240 end do
241 end block
242
243 call disp%skip()
244 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
245 call disp%show("!Compute the biased merged variance of a reliability weighted univariate sample.")
246 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
247 call disp%skip()
248
249 block
250 real(TKG) :: mean(1:nsam)
251 real(TKG), allocatable :: sample(:)
252 real(TKG), allocatable :: rweight(:)
253 real(TKG) :: var(0:nsam), varMerged
254 do itry = 1, ntry
255 call disp%skip()
256 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
257 lb(1) = 1; ub(1) = getUnifRand(2, 7)
258 call disp%show("do isam = 2, nsam")
259 call disp%show(" lb(isam) = ub(isam - 1) + 1")
260 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
261 call disp%show("end do")
262 do isam = 2, nsam
263 lb(isam) = ub(isam - 1) + 1
264 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
265 end do
266 call disp%show("lb")
267 call disp%show( lb )
268 call disp%show("ub")
269 call disp%show( ub )
270 call disp%show("sample = getUnifRand(0., 1., ub(nsam))")
271 sample = getUnifRand(0., 1., ub(nsam))
272 call disp%show("sample")
273 call disp%show( sample )
274 call disp%show("rweight = getUnifRand(1., 2., size(sample, 1, IK))")
275 rweight = getUnifRand(1., 2., size(sample, 1, IK))
276 call disp%show("rweight")
277 call disp%show( rweight )
278 call disp%show("var(0) = getVar(sample, rweight)")
279 var(0) = getVar(sample, rweight)
280 call disp%show("var(0) ! reference")
281 call disp%show( var(0) )
282 call disp%show("do isam = 1, nsam")
283 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))")
284 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))")
285 call disp%show("end do")
286 do isam = 1, nsam
287 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
288 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
289 end do
290 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
291 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
292 call disp%show("varMerged")
293 call disp%show( varMerged )
294 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
295 call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
296 call disp%show("var(2)")
297 call disp%show( var(2) )
298 call disp%show("var(0) ! reference")
299 call disp%show( var(0) )
300 call disp%skip()
301 end do
302 end block
303
304 block
305 complex(TKG) :: mean(1:nsam)
306 complex(TKG), allocatable :: sample(:)
307 real(TKG), allocatable :: rweight(:)
308 real(TKG) :: var(0:nsam), varMerged
309 do itry = 1, ntry
310 call disp%skip()
311 call disp%show("lb(1) = 1; ub(1) = getUnifRand(2, 7)")
312 lb(1) = 1; ub(1) = getUnifRand(2, 7)
313 call disp%show("do isam = 2, nsam")
314 call disp%show(" lb(isam) = ub(isam - 1) + 1")
315 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
316 call disp%show("end do")
317 do isam = 2, nsam
318 lb(isam) = ub(isam - 1) + 1
319 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
320 end do
321 call disp%show("lb")
322 call disp%show( lb )
323 call disp%show("ub")
324 call disp%show( ub )
325 call disp%show("sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)")
326 sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
327 call disp%show("sample")
328 call disp%show( sample )
329 call disp%show("rweight = getUnifRand(1., 2., size(sample, 1, IK))")
330 rweight = getUnifRand(1., 2., size(sample, 1, IK))
331 call disp%show("rweight")
332 call disp%show( rweight )
333 call disp%show("var(0) = getVar(sample, rweight)")
334 var(0) = getVar(sample, rweight)
335 call disp%show("var(0) ! reference")
336 call disp%show( var(0) )
337 call disp%show("do isam = 1, nsam")
338 call disp%show(" var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))")
339 call disp%show(" mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))")
340 call disp%show("end do")
341 do isam = 1, nsam
342 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
343 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
344 end do
345 call disp%show("call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
346 call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
347 call disp%show("varMerged")
348 call disp%show( varMerged )
349 call disp%show("call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
350 call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
351 call disp%show("var(2)")
352 call disp%show( var(2) )
353 call disp%show("var(0) ! reference")
354 call disp%show( var(0) )
355 call disp%skip()
356 end do
357 end block
358
359 call disp%skip()
360 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
361 call disp%show("!Compute the biased merged variance of a multivariate sample.")
362 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
363 call disp%skip()
364
365 block
366 real(TKG), allocatable :: mean(:,:)
367 real(TKG), allocatable :: sample(:,:)
368 real(TKG), allocatable :: var(:,:), varMerged(:)
369 do itry = 1, ntry
370 call disp%skip()
371 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
372 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
373 call disp%show("do isam = 2, nsam")
374 call disp%show(" lb(isam) = ub(isam - 1) + 1")
375 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
376 call disp%show("end do")
377 do isam = 2, nsam
378 lb(isam) = ub(isam - 1) + 1
379 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
380 end do
381 call disp%show("lb")
382 call disp%show( lb )
383 call disp%show("ub")
384 call disp%show( ub )
385 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
386 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
387 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
388 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
389 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
390 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
391 call disp%show("call setResized(varMerged, ndim)")
392 call setResized(varMerged, ndim)
393 call disp%show("sample = getUnifRand(-1., +1., ndim, ub(nsam))")
394 sample = getUnifRand(-1., +1., ndim, ub(nsam))
395 call disp%show("sample")
396 call disp%show( sample )
397 call disp%show("var(:,0) = getVar(sample, dim)")
398 var(:,0) = getVar(sample, dim)
399 call disp%show("var(:,0) ! reference")
400 call disp%show( var(:,0) )
401 call disp%show("do isam = 1, nsam")
402 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)")
403 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)")
404 call disp%show("end do")
405 do isam = 1, nsam
406 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
407 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
408 end do
409 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))")
410 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
411 call disp%show("varMerged")
412 call disp%show( varMerged )
413 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))")
414 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
415 call disp%show("var(:,2)")
416 call disp%show( var(:,2) )
417 call disp%show("var(:,0) ! reference")
418 call disp%show( var(:,0) )
419 call disp%skip()
420 end do
421 end block
422
423 block
424 complex(TKG), allocatable :: mean(:,:)
425 complex(TKG), allocatable :: sample(:,:)
426 real(TKG), allocatable :: var(:,:), varMerged(:)
427 do itry = 1, ntry
428 call disp%skip()
429 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
430 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
431 call disp%show("do isam = 2, nsam")
432 call disp%show(" lb(isam) = ub(isam - 1) + 1")
433 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
434 call disp%show("end do")
435 do isam = 2, nsam
436 lb(isam) = ub(isam - 1) + 1
437 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
438 end do
439 call disp%show("lb")
440 call disp%show( lb )
441 call disp%show("ub")
442 call disp%show( ub )
443 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
444 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
445 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
446 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
447 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
448 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
449 call disp%show("call setResized(varMerged, ndim)")
450 call setResized(varMerged, ndim)
451 call disp%show("sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)")
452 sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
453 call disp%show("sample")
454 call disp%show( sample )
455 call disp%show("var(:,0) = getVar(sample, dim)")
456 var(:,0) = getVar(sample, dim)
457 call disp%show("var(:,0) ! reference")
458 call disp%show( var(:,0) )
459 call disp%show("do isam = 1, nsam")
460 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)")
461 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)")
462 call disp%show("end do")
463 do isam = 1, nsam
464 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
465 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
466 end do
467 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))")
468 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
469 call disp%show("varMerged")
470 call disp%show( varMerged )
471 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))")
472 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
473 call disp%show("var(:,2)")
474 call disp%show( var(:,2) )
475 call disp%show("var(:,0) ! reference")
476 call disp%show( var(:,0) )
477 call disp%skip()
478 end do
479 end block
480
481 call disp%skip()
482 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
483 call disp%show("!Compute the biased merged variance of a frequency weighted multivariate sample.")
484 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
485 call disp%skip()
486
487 block
488 real(TKG), allocatable :: mean(:,:)
489 real(TKG), allocatable :: sample(:,:)
490 real(TKG), allocatable :: var(:,:), varMerged(:)
491 do itry = 1, ntry
492 call disp%skip()
493 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
494 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
495 call disp%show("do isam = 2, nsam")
496 call disp%show(" lb(isam) = ub(isam - 1) + 1")
497 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
498 call disp%show("end do")
499 do isam = 2, nsam
500 lb(isam) = ub(isam - 1) + 1
501 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
502 end do
503 call disp%show("lb")
504 call disp%show( lb )
505 call disp%show("ub")
506 call disp%show( ub )
507 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
508 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
509 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
510 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
511 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
512 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
513 call disp%show("call setResized(varMerged, ndim)")
514 call setResized(varMerged, ndim)
515 call disp%show("sample = getUnifRand(-1., +1., ndim, ub(nsam))")
516 sample = getUnifRand(-1., +1., ndim, ub(nsam))
517 call disp%show("sample")
518 call disp%show( sample )
519 call disp%show("iweight = getUnifRand(1, 10, size(sample, dim, IK))")
520 iweight = getUnifRand(1, 10, size(sample, dim, IK))
521 call disp%show("iweight")
522 call disp%show( iweight )
523 call disp%show("var(:,0) = getVar(sample, 2_IK, iweight)")
524 var(:,0) = getVar(sample, 2_IK, iweight)
525 call disp%show("var(:,0) ! reference")
526 call disp%show( var(:,0) )
527 call disp%show("do isam = 1, nsam")
528 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))")
529 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))")
530 call disp%show("end do")
531 do isam = 1, nsam
532 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
533 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
534 end do
535 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
536 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
537 call disp%show("varMerged")
538 call disp%show( varMerged )
539 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
540 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
541 call disp%show("var(:,2)")
542 call disp%show( var(:,2) )
543 call disp%show("var(:,0) ! reference")
544 call disp%show( var(:,0) )
545 call disp%skip()
546 end do
547 end block
548
549 block
550 complex(TKG), allocatable :: mean(:,:)
551 complex(TKG), allocatable :: sample(:,:)
552 real(TKG), allocatable :: var(:,:), varMerged(:)
553 do itry = 1, ntry
554 call disp%skip()
555 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
556 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
557 call disp%show("do isam = 2, nsam")
558 call disp%show(" lb(isam) = ub(isam - 1) + 1")
559 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
560 call disp%show("end do")
561 do isam = 2, nsam
562 lb(isam) = ub(isam - 1) + 1
563 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
564 end do
565 call disp%show("lb")
566 call disp%show( lb )
567 call disp%show("ub")
568 call disp%show( ub )
569 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
570 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
571 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
572 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
573 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
574 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
575 call disp%show("call setResized(varMerged, ndim)")
576 call setResized(varMerged, ndim)
577 call disp%show("sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)")
578 sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
579 call disp%show("sample")
580 call disp%show( sample )
581 call disp%show("iweight = getUnifRand(1, 10, size(sample, dim, IK))")
582 iweight = getUnifRand(1, 10, size(sample, dim, IK))
583 call disp%show("iweight")
584 call disp%show( iweight )
585 call disp%show("var(:,0) = getVar(sample, 2_IK, iweight)")
586 var(:,0) = getVar(sample, 2_IK, iweight)
587 call disp%show("var(:,0) ! reference")
588 call disp%show( var(:,0) )
589 call disp%show("do isam = 1, nsam")
590 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))")
591 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))")
592 call disp%show("end do")
593 do isam = 1, nsam
594 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
595 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
596 end do
597 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
598 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
599 call disp%show("varMerged")
600 call disp%show( varMerged )
601 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))")
602 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
603 call disp%show("var(:,2)")
604 call disp%show( var(:,2) )
605 call disp%show("var(:,0) ! reference")
606 call disp%show( var(:,0) )
607 call disp%skip()
608 end do
609 end block
610
611 call disp%skip()
612 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
613 call disp%show("!Compute the biased merged variance of a reliability weighted multivariate sample.")
614 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
615 call disp%skip()
616
617 block
618 real(TKG), allocatable :: mean(:,:)
619 real(TKG), allocatable :: sample(:,:)
620 real(TKG), allocatable :: var(:,:), varMerged(:)
621 real(TKG), allocatable :: rweight(:)
622 do itry = 1, ntry
623 call disp%skip()
624 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
625 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
626 call disp%show("do isam = 2, nsam")
627 call disp%show(" lb(isam) = ub(isam - 1) + 1")
628 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
629 call disp%show("end do")
630 do isam = 2, nsam
631 lb(isam) = ub(isam - 1) + 1
632 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
633 end do
634 call disp%show("lb")
635 call disp%show( lb )
636 call disp%show("ub")
637 call disp%show( ub )
638 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
639 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
640 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
641 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
642 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
643 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
644 call disp%show("call setResized(varMerged, ndim)")
645 call setResized(varMerged, ndim)
646 call disp%show("sample = getUnifRand(-1., +1., ndim, ub(nsam))")
647 sample = getUnifRand(-1., +1., ndim, ub(nsam))
648 call disp%show("sample")
649 call disp%show( sample )
650 call disp%show("rweight = getUnifRand(1., 2., size(sample, dim, IK))")
651 rweight = getUnifRand(1., 2., size(sample, dim, IK))
652 call disp%show("rweight")
653 call disp%show( rweight )
654 call disp%show("var(:,0) = getVar(sample, 2_IK, rweight)")
655 var(:,0) = getVar(sample, 2_IK, rweight)
656 call disp%show("var(:,0) ! reference")
657 call disp%show( var(:,0) )
658 call disp%show("do isam = 1, nsam")
659 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))")
660 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))")
661 call disp%show("end do")
662 do isam = 1, nsam
663 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
664 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
665 end do
666 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
667 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
668 call disp%show("varMerged")
669 call disp%show( varMerged )
670 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
671 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
672 call disp%show("var(:,2)")
673 call disp%show( var(:,2) )
674 call disp%show("var(:,0) ! reference")
675 call disp%show( var(:,0) )
676 call disp%skip()
677 end do
678 end block
679
680 block
681 complex(TKG), allocatable :: mean(:,:)
682 complex(TKG), allocatable :: sample(:,:)
683 real(TKG), allocatable :: var(:,:), varMerged(:)
684 real(TKG), allocatable :: rweight(:)
685 do itry = 1, ntry
686 call disp%skip()
687 call disp%show("dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)")
688 dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
689 call disp%show("do isam = 2, nsam")
690 call disp%show(" lb(isam) = ub(isam - 1) + 1")
691 call disp%show(" ub(isam) = ub(isam - 1) + getUnifRand(2, 7)")
692 call disp%show("end do")
693 do isam = 2, nsam
694 lb(isam) = ub(isam - 1) + 1
695 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
696 end do
697 call disp%show("lb")
698 call disp%show( lb )
699 call disp%show("ub")
700 call disp%show( ub )
701 call disp%show("ndim = getUnifRand(1, minval(ub - lb + 1, 1))")
702 ndim = getUnifRand(1, minval(ub - lb + 1, 1))
703 call disp%show("call setRebound(var, [1_IK, 0_IK], [ndim, nsam])")
704 call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
705 call disp%show("call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])")
706 call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
707 call disp%show("call setResized(varMerged, ndim)")
708 call setResized(varMerged, ndim)
709 call disp%show("sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)")
710 sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
711 call disp%show("sample")
712 call disp%show( sample )
713 call disp%show("rweight = getUnifRand(1., 2., size(sample, dim, IK))")
714 rweight = getUnifRand(1., 2., size(sample, dim, IK))
715 call disp%show("rweight")
716 call disp%show( rweight )
717 call disp%show("var(:,0) = getVar(sample, 2_IK, rweight)")
718 var(:,0) = getVar(sample, 2_IK, rweight)
719 call disp%show("var(:,0) ! reference")
720 call disp%show( var(:,0) )
721 call disp%show("do isam = 1, nsam")
722 call disp%show(" var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))")
723 call disp%show(" mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))")
724 call disp%show("end do")
725 do isam = 1, nsam
726 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
727 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
728 end do
729 call disp%show("call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
730 call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
731 call disp%show("varMerged")
732 call disp%show( varMerged )
733 call disp%show("call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))")
734 call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
735 call disp%show("var(:,2)")
736 call disp%show( var(:,2) )
737 call disp%show("var(:,0) ! reference")
738 call disp%show( var(:,0) )
739 call disp%skip()
740 end do
741 end block
742
743end program example
Generate minimally-spaced character, integer, real sequences or sequences at fixed intervals of size ...
Resize (shrink or expand) an input allocatable array of rank 1..3 to arbitrary new lower and upper bo...
Allocate or resize (shrink or expand) an input allocatable scalar string or array of rank 1....
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.
Definition: pm_io.F90:11726
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11508
Generate and return the (weighted) mean of an input sample of nsam observations with ndim = 1 or 2 at...
Generate and return the variance of the input sample of type complex or real of shape (nsam) or (ndim...
This module contains procedures and generic interfaces for generating ranges of discrete character,...
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
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...
Definition: pm_io.F90:252
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
Definition: pm_io.F90:11393
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RKS
The single-precision real kind in Fortran mode. On most platforms, this is an 32-bit real kind.
Definition: pm_kind.F90:567
This module contains classes and procedures for computing the first moment (i.e., the statistical mea...
Generate and return an object of type display_type.
Definition: pm_io.F90:10282

Example Unix compile command via Intel ifort compiler
1#!/usr/bin/env sh
2rm main.exe
3ifort -fpp -standard-semantics -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example Windows Batch compile command via Intel ifort compiler
1del main.exe
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standard-semantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
4main.exe

Example Unix / MinGW compile command via GNU gfortran compiler
1#!/usr/bin/env sh
2rm main.exe
3gfortran -cpp -ffree-line-length-none -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example output
1
2!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3!Compute the biased merged variance of a univariate sample.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7lb(1) = 1; ub(1) = getUnifRand(2, 7)
8do isam = 2, nsam
9 lb(isam) = ub(isam - 1) + 1
10 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
11end do
12lb
13+1, +5
14ub
15+4, +6
16sample = getUnifRand(0., 1., ub(nsam))
17sample
18+0.282681763, +0.458146751, +0.750241160, +0.940724730, +0.566639543, +0.155023754
19var(0) = getVar(sample)
20var(0) ! reference
21+0.708937347E-1
22do isam = 1, nsam
23 var(isam) = getVar(sample(lb(isam):ub(isam)))
24 mean(isam) = getMean(sample(lb(isam):ub(isam)))
25end do
26call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
27varMerged
28+0.708937347E-1
29call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
30var(2)
31+0.708937347E-1
32var(0) ! reference
33+0.708937347E-1
34
35
36lb(1) = 1; ub(1) = getUnifRand(2, 7)
37do isam = 2, nsam
38 lb(isam) = ub(isam - 1) + 1
39 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
40end do
41lb
42+1, +6
43ub
44+5, +7
45sample = getUnifRand(0., 1., ub(nsam))
46sample
47+0.616792977, +0.222903907, +0.774933517, +0.932100832, +0.511356890, +0.324885726, +0.974224746
48var(0) = getVar(sample)
49var(0) ! reference
50+0.719193742E-1
51do isam = 1, nsam
52 var(isam) = getVar(sample(lb(isam):ub(isam)))
53 mean(isam) = getMean(sample(lb(isam):ub(isam)))
54end do
55call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
56varMerged
57+0.719193593E-1
58call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
59var(2)
60+0.719193593E-1
61var(0) ! reference
62+0.719193742E-1
63
64
65lb(1) = 1; ub(1) = getUnifRand(2, 7)
66do isam = 2, nsam
67 lb(isam) = ub(isam - 1) + 1
68 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
69end do
70lb
71+1, +7
72ub
73+6, +11
74sample = getUnifRand(0., 1., ub(nsam))
75sample
76+0.628690124E-1, +0.192238867, +0.161434114, +0.699594796, +0.331201732, +0.262139618, +0.944855928, +0.578415036, +0.875757456, +0.306986511, +0.882413089
77var(0) = getVar(sample)
78var(0) ! reference
79+0.954869315E-1
80do isam = 1, nsam
81 var(isam) = getVar(sample(lb(isam):ub(isam)))
82 mean(isam) = getMean(sample(lb(isam):ub(isam)))
83end do
84call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
85varMerged
86+0.954869241E-1
87call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
88var(2)
89+0.954869241E-1
90var(0) ! reference
91+0.954869315E-1
92
93
94lb(1) = 1; ub(1) = getUnifRand(2, 7)
95do isam = 2, nsam
96 lb(isam) = ub(isam - 1) + 1
97 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
98end do
99lb
100+1, +6
101ub
102+5, +8
103sample = getUnifRand(0., 1., ub(nsam))
104sample
105+0.684865713E-1, +0.222889483, +0.927111328, +0.343428493, +0.806115270, +0.395017862E-1, +0.929943383, +0.151185930
106var(0) = getVar(sample)
107var(0) ! reference
108+0.131192148
109do isam = 1, nsam
110 var(isam) = getVar(sample(lb(isam):ub(isam)))
111 mean(isam) = getMean(sample(lb(isam):ub(isam)))
112end do
113call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
114varMerged
115+0.131192148
116call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
117var(2)
118+0.131192148
119var(0) ! reference
120+0.131192148
121
122
123lb(1) = 1; ub(1) = getUnifRand(2, 7)
124do isam = 2, nsam
125 lb(isam) = ub(isam - 1) + 1
126 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
127end do
128lb
129+1, +6
130ub
131+5, +9
132sample = getUnifRand(0., 1., ub(nsam))
133sample
134+0.620729387, +0.505263984, +0.100430250, +0.608765006, +0.619660914, +0.949781060, +0.385886490, +0.605916917, +0.131013751
135var(0) = getVar(sample)
136var(0) ! reference
137+0.625575930E-1
138do isam = 1, nsam
139 var(isam) = getVar(sample(lb(isam):ub(isam)))
140 mean(isam) = getMean(sample(lb(isam):ub(isam)))
141end do
142call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
143varMerged
144+0.625575855E-1
145call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
146var(2)
147+0.625575855E-1
148var(0) ! reference
149+0.625575930E-1
150
151
152lb(1) = 1; ub(1) = getUnifRand(2, 7)
153do isam = 2, nsam
154 lb(isam) = ub(isam - 1) + 1
155 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
156end do
157lb
158+1, +7
159ub
160+6, +12
161sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
162sample
163(+0.169601917, -0.252396464E-1), (+0.394556463, -0.991977513), (+0.132779360, -0.284171999), (+0.657557845, -0.564487040), (+0.288988829, -0.403937459), (+0.707922578, -0.987175703), (+0.464062154, -0.663727582), (+0.224713802, -0.506084085), (+0.886198521, -0.507968962), (+0.944580555, -0.947833300), (+0.495980680, -0.714342713), (+0.611722946, -0.490783453)
164var(0) = getVar(sample)
165var(0) ! reference
166+0.145307556
167do isam = 1, nsam
168 var(isam) = getVar(sample(lb(isam):ub(isam)))
169 mean(isam) = getMean(sample(lb(isam):ub(isam)))
170end do
171call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
172varMerged
173+0.145307571
174call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
175var(2)
176+0.145307571
177var(0) ! reference
178+0.145307556
179
180
181lb(1) = 1; ub(1) = getUnifRand(2, 7)
182do isam = 2, nsam
183 lb(isam) = ub(isam - 1) + 1
184 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
185end do
186lb
187+1, +6
188ub
189+5, +11
190sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
191sample
192(+0.472440183, -0.234886527), (+0.152583003, -0.570800841), (+0.431730568, -0.846615672), (+0.727401614, -0.148321211), (+0.810052812, -0.618840754), (+0.914186239E-2, -0.509600461), (+0.935771823, -0.593167305), (+0.597235978, -0.578141093), (+0.940371096, -0.884296060), (+0.989422202E-1, -0.311418772E-1), (+0.588447094, -0.438360870)
193var(0) = getVar(sample)
194var(0) ! reference
195+0.162704706
196do isam = 1, nsam
197 var(isam) = getVar(sample(lb(isam):ub(isam)))
198 mean(isam) = getMean(sample(lb(isam):ub(isam)))
199end do
200call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
201varMerged
202+0.162704676
203call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
204var(2)
205+0.162704676
206var(0) ! reference
207+0.162704706
208
209
210lb(1) = 1; ub(1) = getUnifRand(2, 7)
211do isam = 2, nsam
212 lb(isam) = ub(isam - 1) + 1
213 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
214end do
215lb
216+1, +6
217ub
218+5, +7
219sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
220sample
221(+0.345816255, -0.303678036), (+0.886424541, -0.461009383), (+0.251661718, -0.986440718), (+0.547977686, -0.857630372E-1), (+0.522475243E-1, -0.501887977), (+0.229573250E-2, -0.614783347), (+0.519573033, -0.507852733)
222var(0) = getVar(sample)
223var(0) ! reference
224+0.147539273
225do isam = 1, nsam
226 var(isam) = getVar(sample(lb(isam):ub(isam)))
227 mean(isam) = getMean(sample(lb(isam):ub(isam)))
228end do
229call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
230varMerged
231+0.147539288
232call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
233var(2)
234+0.147539288
235var(0) ! reference
236+0.147539273
237
238
239lb(1) = 1; ub(1) = getUnifRand(2, 7)
240do isam = 2, nsam
241 lb(isam) = ub(isam - 1) + 1
242 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
243end do
244lb
245+1, +5
246ub
247+4, +8
248sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
249sample
250(+0.274543166, -0.556082845), (+0.660316288, -0.984699130), (+0.959764123E-1, -0.426200569), (+0.768561840, -0.367408693), (+0.311403275E-1, -0.204791427E-1), (+0.931620955, -0.879353285E-2), (+0.483336031, -0.251451313), (+0.465781748, -0.884848595)
251var(0) = getVar(sample)
252var(0) ! reference
253+0.202500850
254do isam = 1, nsam
255 var(isam) = getVar(sample(lb(isam):ub(isam)))
256 mean(isam) = getMean(sample(lb(isam):ub(isam)))
257end do
258call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
259varMerged
260+0.202500865
261call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
262var(2)
263+0.202500865
264var(0) ! reference
265+0.202500850
266
267
268lb(1) = 1; ub(1) = getUnifRand(2, 7)
269do isam = 2, nsam
270 lb(isam) = ub(isam - 1) + 1
271 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
272end do
273lb
274+1, +8
275ub
276+7, +13
277sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
278sample
279(+0.686789572, -0.118137598), (+0.784673393, -0.786661148), (+0.506868184, -0.270289004), (+0.854646027, -0.958091438), (+0.125769973E-1, -0.307230294), (+0.789779425, -0.302168727), (+0.949921250, -0.413799822), (+0.724042237, -0.279695094), (+0.930103660E-1, -0.577169001), (+0.297805965, -0.953446388), (+0.311858714, -0.156486988), (+0.896656513E-1, -0.975592434), (+0.910786152, -0.258129358)
280var(0) = getVar(sample)
281var(0) ! reference
282+0.200794116
283do isam = 1, nsam
284 var(isam) = getVar(sample(lb(isam):ub(isam)))
285 mean(isam) = getMean(sample(lb(isam):ub(isam)))
286end do
287call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
288varMerged
289+0.200794131
290call setVarMerged(var(2), var(1), mean(1) - mean(2), ub(1) / real(ub(2), TKG))
291var(2)
292+0.200794131
293var(0) ! reference
294+0.200794116
295
296
297!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
298!Compute the biased merged variance of a frequency weighted univariate sample.
299!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
300
301
302lb(1) = 1; ub(1) = getUnifRand(2, 7)
303do isam = 2, nsam
304 lb(isam) = ub(isam - 1) + 1
305 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
306end do
307lb
308+1, +3
309ub
310+2, +7
311sample = getUnifRand(0., 1., ub(nsam))
312sample
313+0.347384691, +0.588463366, +0.781132758, +0.501089036, +0.321985483E-1, +0.877985358, +0.335842133
314iweight = getUnifRand(1, 10, size(sample, 1, IK))
315iweight
316+2, +4, +3, +6, +4, +1, +8
317var(0) = getVar(sample, iweight)
318var(0) ! reference
319+0.506714806E-1
320do isam = 1, nsam
321 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
322 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
323end do
324call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
325varMerged
326+0.506714731E-1
327call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
328var(2)
329+0.506714731E-1
330var(0) ! reference
331+0.506714806E-1
332
333
334lb(1) = 1; ub(1) = getUnifRand(2, 7)
335do isam = 2, nsam
336 lb(isam) = ub(isam - 1) + 1
337 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
338end do
339lb
340+1, +7
341ub
342+6, +8
343sample = getUnifRand(0., 1., ub(nsam))
344sample
345+0.201636553E-2, +0.670176923, +0.998277843, +0.622785985, +0.888784349, +0.625781059, +0.116732538, +0.767450988
346iweight = getUnifRand(1, 10, size(sample, 1, IK))
347iweight
348+1, +2, +2, +8, +9, +1, +9, +7
349var(0) = getVar(sample, iweight)
350var(0) ! reference
351+0.958525985E-1
352do isam = 1, nsam
353 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
354 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
355end do
356call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
357varMerged
358+0.958525687E-1
359call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
360var(2)
361+0.958525687E-1
362var(0) ! reference
363+0.958525985E-1
364
365
366lb(1) = 1; ub(1) = getUnifRand(2, 7)
367do isam = 2, nsam
368 lb(isam) = ub(isam - 1) + 1
369 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
370end do
371lb
372+1, +3
373ub
374+2, +6
375sample = getUnifRand(0., 1., ub(nsam))
376sample
377+0.475506961, +0.199834108E-1, +0.525703907, +0.646607757, +0.922822058, +0.441325545
378iweight = getUnifRand(1, 10, size(sample, 1, IK))
379iweight
380+9, +10, +1, +2, +4, +2
381var(0) = getVar(sample, iweight)
382var(0) ! reference
383+0.973507389E-1
384do isam = 1, nsam
385 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
386 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
387end do
388call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
389varMerged
390+0.973507538E-1
391call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
392var(2)
393+0.973507538E-1
394var(0) ! reference
395+0.973507389E-1
396
397
398lb(1) = 1; ub(1) = getUnifRand(2, 7)
399do isam = 2, nsam
400 lb(isam) = ub(isam - 1) + 1
401 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
402end do
403lb
404+1, +5
405ub
406+4, +11
407sample = getUnifRand(0., 1., ub(nsam))
408sample
409+0.820667863, +0.912171483, +0.198023915E-1, +0.439678431, +0.375530899, +0.788326263E-1, +0.466294289, +0.926025510, +0.851589441E-1, +0.730477273, +0.596710980
410iweight = getUnifRand(1, 10, size(sample, 1, IK))
411iweight
412+10, +7, +9, +5, +2, +2, +4, +9, +2, +7, +5
413var(0) = getVar(sample, iweight)
414var(0) ! reference
415+0.107047558
416do isam = 1, nsam
417 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
418 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
419end do
420call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
421varMerged
422+0.107047573
423call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
424var(2)
425+0.107047573
426var(0) ! reference
427+0.107047558
428
429
430lb(1) = 1; ub(1) = getUnifRand(2, 7)
431do isam = 2, nsam
432 lb(isam) = ub(isam - 1) + 1
433 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
434end do
435lb
436+1, +7
437ub
438+6, +12
439sample = getUnifRand(0., 1., ub(nsam))
440sample
441+0.121591091E-1, +0.829657674, +0.365109503, +0.946821511, +0.986628592, +0.519187450, +0.399219930, +0.244624496, +0.805534422, +0.237654686, +0.680320680, +0.304630697
442iweight = getUnifRand(1, 10, size(sample, 1, IK))
443iweight
444+10, +5, +10, +7, +2, +1, +1, +6, +5, +4, +9, +5
445var(0) = getVar(sample, iweight)
446var(0) ! reference
447+0.101374455
448do isam = 1, nsam
449 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
450 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
451end do
452call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
453varMerged
454+0.101374455
455call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
456var(2)
457+0.101374455
458var(0) ! reference
459+0.101374455
460
461
462lb(1) = 1; ub(1) = getUnifRand(2, 7)
463do isam = 2, nsam
464 lb(isam) = ub(isam - 1) + 1
465 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
466end do
467lb
468+1, +3
469ub
470+2, +4
471sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
472sample
473(+0.728536308, -0.290056169), (+0.280530989, -0.483283699), (+0.787321568, -0.967009306), (+0.829695821, -0.602520764)
474iweight = getUnifRand(1, 10, size(sample, 1, IK))
475iweight
476+9, +9, +8, +4
477var(0) = getVar(sample, iweight)
478var(0) ! reference
479+0.119362123
480do isam = 1, nsam
481 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
482 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
483end do
484call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
485varMerged
486+0.119362108
487call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
488var(2)
489+0.119362108
490var(0) ! reference
491+0.119362123
492
493
494lb(1) = 1; ub(1) = getUnifRand(2, 7)
495do isam = 2, nsam
496 lb(isam) = ub(isam - 1) + 1
497 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
498end do
499lb
500+1, +5
501ub
502+4, +11
503sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
504sample
505(+0.460407555, -0.470099330), (+0.215232611, -0.678497672), (+0.568859339, -0.352218807), (+0.140970647, -0.105994463), (+0.302153349, -0.468982816), (+0.960202098, -0.525167942), (+0.988228142, -0.233498216), (+0.518978477, -0.810231030), (+0.880361557, -0.780780017), (+0.823689997, -0.632086337), (+0.131901503, -0.304824173)
506iweight = getUnifRand(1, 10, size(sample, 1, IK))
507iweight
508+8, +8, +4, +7, +8, +4, +2, +9, +6, +1, +4
509var(0) = getVar(sample, iweight)
510var(0) ! reference
511+0.126767099
512do isam = 1, nsam
513 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
514 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
515end do
516call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
517varMerged
518+0.126767099
519call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
520var(2)
521+0.126767099
522var(0) ! reference
523+0.126767099
524
525
526lb(1) = 1; ub(1) = getUnifRand(2, 7)
527do isam = 2, nsam
528 lb(isam) = ub(isam - 1) + 1
529 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
530end do
531lb
532+1, +6
533ub
534+5, +9
535sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
536sample
537(+0.845366180, -0.746111989), (+0.993096232E-1, -0.645383596E-1), (+0.989494085, -0.441907108), (+0.793754458E-1, -0.808745325), (+0.498732507, -0.361979783), (+0.263713598, -0.359771371), (+0.403559089, -0.199794054), (+0.664330661, -0.364197969), (+0.113191128, -0.459438026)
538iweight = getUnifRand(1, 10, size(sample, 1, IK))
539iweight
540+6, +2, +3, +5, +5, +2, +4, +9, +9
541var(0) = getVar(sample, iweight)
542var(0) ! reference
543+0.135616109
544do isam = 1, nsam
545 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
546 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
547end do
548call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
549varMerged
550+0.135616109
551call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
552var(2)
553+0.135616109
554var(0) ! reference
555+0.135616109
556
557
558lb(1) = 1; ub(1) = getUnifRand(2, 7)
559do isam = 2, nsam
560 lb(isam) = ub(isam - 1) + 1
561 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
562end do
563lb
564+1, +8
565ub
566+7, +12
567sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
568sample
569(+0.681120157, -0.561142266), (+0.600067675, -0.741244435), (+0.685153008E-1, -0.924964428), (+0.905477643, -0.878580391), (+0.346492469, -0.460470140), (+0.837336302, -0.440788269E-1), (+0.678418398, -0.112699866E-1), (+0.254854977, -0.881408811), (+0.738232911, -0.559942603), (+0.570324421, -0.901490748), (+0.235462368, -0.394087851), (+0.855239868, -0.552689850)
570iweight = getUnifRand(1, 10, size(sample, 1, IK))
571iweight
572+4, +9, +2, +7, +4, +7, +3, +8, +4, +3, +4, +9
573var(0) = getVar(sample, iweight)
574var(0) ! reference
575+0.146377951
576do isam = 1, nsam
577 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
578 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
579end do
580call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
581varMerged
582+0.146377936
583call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
584var(2)
585+0.146377936
586var(0) ! reference
587+0.146377951
588
589
590lb(1) = 1; ub(1) = getUnifRand(2, 7)
591do isam = 2, nsam
592 lb(isam) = ub(isam - 1) + 1
593 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
594end do
595lb
596+1, +6
597ub
598+5, +11
599sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
600sample
601(+0.623735428, -0.348751128), (+0.141771138, -0.579480410), (+0.478169918, -0.747342110), (+0.696623206, -0.304574430), (+0.850297511, -0.158303976E-1), (+0.268961787, -0.826235890), (+0.421791315, -0.218959808), (+0.539953530, -0.142040253), (+0.501198530, -0.444777429), (+0.887419522, -0.755490184), (+0.679285288, -0.228869796)
602iweight = getUnifRand(1, 10, size(sample, 1, IK))
603iweight
604+2, +4, +5, +7, +3, +10, +8, +9, +9, +10, +10
605var(0) = getVar(sample, iweight)
606var(0) ! reference
607+0.113365337
608do isam = 1, nsam
609 var(isam) = getVar(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
610 mean(isam) = getMean(sample(lb(isam):ub(isam)), iweight(lb(isam):ub(isam)))
611end do
612call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
613varMerged
614+0.113365337
615call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
616var(2)
617+0.113365337
618var(0) ! reference
619+0.113365337
620
621
622!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623!Compute the biased merged variance of a reliability weighted univariate sample.
624!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
625
626
627lb(1) = 1; ub(1) = getUnifRand(2, 7)
628do isam = 2, nsam
629 lb(isam) = ub(isam - 1) + 1
630 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
631end do
632lb
633+1, +8
634ub
635+7, +13
636sample = getUnifRand(0., 1., ub(nsam))
637sample
638+0.345471382, +0.485727489, +0.984534383, +0.731319189, +0.335763514, +0.298995018, +0.679663479, +0.350297570, +0.975026190, +0.780901492, +0.701982319, +0.564911366, +0.115896642
639rweight = getUnifRand(1., 2., size(sample, 1, IK))
640rweight
641+1.04257512, +1.49429750, +1.75459826, +1.29751611, +1.43655801, +1.89791799, +1.80559790, +1.98860657, +1.08174181, +1.03304338, +1.69656157, +1.98976898, +1.27701283
642var(0) = getVar(sample, rweight)
643var(0) ! reference
644+0.630529597E-1
645do isam = 1, nsam
646 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
647 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
648end do
649call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
650varMerged
651+0.630529597E-1
652call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
653var(2)
654+0.630529597E-1
655var(0) ! reference
656+0.630529597E-1
657
658
659lb(1) = 1; ub(1) = getUnifRand(2, 7)
660do isam = 2, nsam
661 lb(isam) = ub(isam - 1) + 1
662 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
663end do
664lb
665+1, +5
666ub
667+4, +6
668sample = getUnifRand(0., 1., ub(nsam))
669sample
670+0.245393157, +0.815335929, +0.399940431, +0.595761418, +0.920845389, +0.545531273
671rweight = getUnifRand(1., 2., size(sample, 1, IK))
672rweight
673+1.82141924, +1.97131014, +1.58715928, +1.94621909, +1.99396801, +1.31281590
674var(0) = getVar(sample, rweight)
675var(0) ! reference
676+0.557816140E-1
677do isam = 1, nsam
678 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
679 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
680end do
681call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
682varMerged
683+0.557816103E-1
684call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
685var(2)
686+0.557816103E-1
687var(0) ! reference
688+0.557816140E-1
689
690
691lb(1) = 1; ub(1) = getUnifRand(2, 7)
692do isam = 2, nsam
693 lb(isam) = ub(isam - 1) + 1
694 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
695end do
696lb
697+1, +7
698ub
699+6, +10
700sample = getUnifRand(0., 1., ub(nsam))
701sample
702+0.245913804, +0.961104751, +0.371187866, +0.606853068, +0.326335430E-2, +0.593347907, +0.484552979E-1, +0.830431640, +0.460434139, +0.633784354
703rweight = getUnifRand(1., 2., size(sample, 1, IK))
704rweight
705+1.67454028, +1.67554069, +1.35289037, +1.83354068, +1.38854563, +1.54515886, +1.17616153, +1.28903317, +1.23424947, +1.97806406
706var(0) = getVar(sample, rweight)
707var(0) ! reference
708+0.845952556E-1
709do isam = 1, nsam
710 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
711 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
712end do
713call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
714varMerged
715+0.845952556E-1
716call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
717var(2)
718+0.845952556E-1
719var(0) ! reference
720+0.845952556E-1
721
722
723lb(1) = 1; ub(1) = getUnifRand(2, 7)
724do isam = 2, nsam
725 lb(isam) = ub(isam - 1) + 1
726 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
727end do
728lb
729+1, +3
730ub
731+2, +6
732sample = getUnifRand(0., 1., ub(nsam))
733sample
734+0.372254908, +0.584946930, +0.894830823, +0.184308171, +0.407962501, +0.690055490
735rweight = getUnifRand(1., 2., size(sample, 1, IK))
736rweight
737+1.15169764, +1.71129096, +1.24037766, +1.09339750, +1.85883105, +1.68955743
738var(0) = getVar(sample, rweight)
739var(0) ! reference
740+0.457905754E-1
741do isam = 1, nsam
742 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
743 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
744end do
745call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
746varMerged
747+0.457905717E-1
748call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
749var(2)
750+0.457905717E-1
751var(0) ! reference
752+0.457905754E-1
753
754
755lb(1) = 1; ub(1) = getUnifRand(2, 7)
756do isam = 2, nsam
757 lb(isam) = ub(isam - 1) + 1
758 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
759end do
760lb
761+1, +7
762ub
763+6, +9
764sample = getUnifRand(0., 1., ub(nsam))
765sample
766+0.439015031, +0.787458003, +0.866388619, +0.822199941, +0.863702118, +0.941337585, +0.452802062, +0.948480010, +0.552669406
767rweight = getUnifRand(1., 2., size(sample, 1, IK))
768rweight
769+1.75023162, +1.05153394, +1.76741982, +1.14104867, +1.53707969, +1.66175675, +1.42000031, +1.35965967, +1.31342244
770var(0) = getVar(sample, rweight)
771var(0) ! reference
772+0.392290354E-1
773do isam = 1, nsam
774 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
775 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
776end do
777call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
778varMerged
779+0.392290466E-1
780call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
781var(2)
782+0.392290466E-1
783var(0) ! reference
784+0.392290354E-1
785
786
787lb(1) = 1; ub(1) = getUnifRand(2, 7)
788do isam = 2, nsam
789 lb(isam) = ub(isam - 1) + 1
790 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
791end do
792lb
793+1, +4
794ub
795+3, +5
796sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
797sample
798(+0.732771158E-1, -0.363276601E-1), (+0.423681021, -0.384647727), (+0.698369265, -0.722870886), (+0.888666511, -0.409296513), (+0.460444391, -0.958284259)
799rweight = getUnifRand(1., 2., size(sample, 1, IK))
800rweight
801+1.83342385, +1.65144396, +1.53762484, +1.82303226, +1.22206521
802var(0) = getVar(sample, rweight)
803var(0) ! reference
804+0.177707016
805do isam = 1, nsam
806 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
807 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
808end do
809call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
810varMerged
811+0.177707016
812call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
813var(2)
814+0.177707016
815var(0) ! reference
816+0.177707016
817
818
819lb(1) = 1; ub(1) = getUnifRand(2, 7)
820do isam = 2, nsam
821 lb(isam) = ub(isam - 1) + 1
822 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
823end do
824lb
825+1, +7
826ub
827+6, +8
828sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
829sample
830(+0.115033925, -0.477619410), (+0.948059320, -0.638965130), (+0.256881893, -0.571313798), (+0.338890910, -0.457587600), (+0.429126322, -0.853367925), (+0.986338854E-1, -0.423292696), (+0.287814200, -0.851023614), (+0.359498382, -0.873471677)
831rweight = getUnifRand(1., 2., size(sample, 1, IK))
832rweight
833+1.86694026, +1.79731154, +1.28275156, +1.33540332, +1.16399193, +1.31400251, +1.55825734, +1.82298696
834var(0) = getVar(sample, rweight)
835var(0) ! reference
836+0.101596810
837do isam = 1, nsam
838 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
839 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
840end do
841call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
842varMerged
843+0.101596817
844call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
845var(2)
846+0.101596817
847var(0) ! reference
848+0.101596810
849
850
851lb(1) = 1; ub(1) = getUnifRand(2, 7)
852do isam = 2, nsam
853 lb(isam) = ub(isam - 1) + 1
854 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
855end do
856lb
857+1, +8
858ub
859+7, +12
860sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
861sample
862(+0.648760021, -0.667374194), (+0.544691563, -0.913228512), (+0.893469453E-1, -0.996351361), (+0.155209601, -0.436864376), (+0.148003876, -0.527336597), (+0.359869003, -0.790384293), (+0.330712914, -0.365891874), (+0.748180091, -0.688499928), (+0.168662131, -0.428182244), (+0.104938209, -0.205892563), (+0.931405127, -0.669851661), (+0.835194290, -0.728791833)
863rweight = getUnifRand(1., 2., size(sample, 1, IK))
864rweight
865+1.98377371, +1.22494948, +1.45565784, +1.07273340, +1.23618960, +1.75740647, +1.95626235, +1.29106581, +1.00725722, +1.06805372, +1.56059408, +1.44038749
866var(0) = getVar(sample, rweight)
867var(0) ! reference
868+0.129518032
869do isam = 1, nsam
870 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
871 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
872end do
873call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
874varMerged
875+0.129518077
876call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
877var(2)
878+0.129518077
879var(0) ! reference
880+0.129518032
881
882
883lb(1) = 1; ub(1) = getUnifRand(2, 7)
884do isam = 2, nsam
885 lb(isam) = ub(isam - 1) + 1
886 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
887end do
888lb
889+1, +6
890ub
891+5, +11
892sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
893sample
894(+0.267716348, -0.111458361), (+0.212560236, -0.540555537), (+0.806218445, -0.320773602), (+0.138623834, -0.656682968), (+0.137818456E-1, -0.407212257), (+0.517320633E-1, -0.899588168), (+0.612607539, -0.837301731), (+0.468982339, -0.549971819), (+0.455741227, -0.174955249), (+0.420116067, -0.343016148), (+0.841679692, -0.197088242)
895rweight = getUnifRand(1., 2., size(sample, 1, IK))
896rweight
897+1.86270618, +1.89528823, +1.81775546, +1.39717209, +1.38556528, +1.64302206, +1.88139200, +1.48550129, +1.32791328, +1.86805677, +1.95111132
898var(0) = getVar(sample, rweight)
899var(0) ! reference
900+0.139021397
901do isam = 1, nsam
902 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
903 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
904end do
905call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
906varMerged
907+0.139021382
908call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
909var(2)
910+0.139021382
911var(0) ! reference
912+0.139021397
913
914
915lb(1) = 1; ub(1) = getUnifRand(2, 7)
916do isam = 2, nsam
917 lb(isam) = ub(isam - 1) + 1
918 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
919end do
920lb
921+1, +7
922ub
923+6, +9
924sample = cmplx(getUnifRand(0., 1., ub(nsam)), -getUnifRand(0., 1., ub(nsam)), TKG)
925sample
926(+0.581725895, -0.196485758), (+0.173325658, -0.618625522), (+0.159565389, -0.522693634), (+0.276407361, -0.632627487), (+0.764621377, -0.837316155), (+0.333611608, -0.823956728E-1), (+0.548387468, -0.778472126), (+0.823851168, -0.336416721), (+0.792722046, -0.535879791)
927rweight = getUnifRand(1., 2., size(sample, 1, IK))
928rweight
929+1.97886717, +1.56527865, +1.32357621, +1.37239552, +1.76769733, +1.59945011, +1.95721519, +1.23022389, +1.34191442
930var(0) = getVar(sample, rweight)
931var(0) ! reference
932+0.121213667
933do isam = 1, nsam
934 var(isam) = getVar(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
935 mean(isam) = getMean(sample(lb(isam):ub(isam)), rweight(lb(isam):ub(isam)))
936end do
937call setVarMerged(varMerged, var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
938varMerged
939+0.121213675
940call setVarMerged(var(2), var(1), mean(1) - mean(2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
941var(2)
942+0.121213675
943var(0) ! reference
944+0.121213667
945
946
947!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
948!Compute the biased merged variance of a multivariate sample.
949!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
950
951
952dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
953do isam = 2, nsam
954 lb(isam) = ub(isam - 1) + 1
955 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
956end do
957lb
958+1, +6
959ub
960+5, +10
961ndim = getUnifRand(1, minval(ub - lb + 1, 1))
962call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
963call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
964call setResized(varMerged, ndim)
965sample = getUnifRand(-1., +1., ndim, ub(nsam))
966sample
967-0.794386268, -0.325577378, +0.662713289, +0.180385590, -0.439923048, -0.561428070, -0.996729016, +0.142635107E-1, -0.157487512, -0.967031837
968+0.190051913, +0.947661400E-1, -0.491064668, +0.399760723, +0.345922351, -0.980438590, -0.352344751, -0.540076494E-1, +0.332165956, -0.534865141
969+0.999535441, -0.878053188, -0.390816092, -0.744003057E-1, +0.991106033, +0.105976939, -0.224736214, +0.936365008, +0.832479000E-1, +0.137254000E-1
970+0.633215666, +0.373368144, +0.952402830, +0.183950782, -0.450929642, +0.868240833, -0.205165744, +0.989269853, +0.228426814, -0.983087301
971var(:,0) = getVar(sample, dim)
972var(:,0) ! reference
973+0.252517849, +0.194019303, +0.361227870, +0.380719155
974do isam = 1, nsam
975 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
976 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
977end do
978call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
979varMerged
980+0.252517849, +0.194019288, +0.361227870, +0.380719155
981call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
982var(:,2)
983+0.252517849, +0.194019288, +0.361227870, +0.380719155
984var(:,0) ! reference
985+0.252517849, +0.194019303, +0.361227870, +0.380719155
986
987
988dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
989do isam = 2, nsam
990 lb(isam) = ub(isam - 1) + 1
991 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
992end do
993lb
994+1, +7
995ub
996+6, +13
997ndim = getUnifRand(1, minval(ub - lb + 1, 1))
998call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
999call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1000call setResized(varMerged, ndim)
1001sample = getUnifRand(-1., +1., ndim, ub(nsam))
1002sample
1003-0.938377142, +0.155410767, +0.140862226, -0.298054576, -0.197319269, +0.177136660, -0.966215134E-2, +0.106565833, +0.551277161, +0.822041273, +0.799075365, -0.921103954E-1, +0.973501205
1004-0.479531527, -0.556624413, +0.564124703, +0.464079738, +0.352094173E-1, -0.609748721, -0.814321518, +0.104710698, +0.845510721, +0.176680088E-1, +0.941410065E-1, -0.547937512, +0.668950677
1005var(:,0) = getVar(sample, dim)
1006var(:,0) ! reference
1007+0.253881991, +0.276060283
1008do isam = 1, nsam
1009 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1010 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1011end do
1012call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1013varMerged
1014+0.253881991, +0.276060283
1015call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1016var(:,2)
1017+0.253881991, +0.276060283
1018var(:,0) ! reference
1019+0.253881991, +0.276060283
1020
1021
1022dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1023do isam = 2, nsam
1024 lb(isam) = ub(isam - 1) + 1
1025 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1026end do
1027lb
1028+1, +3
1029ub
1030+2, +8
1031ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1032call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1033call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1034call setResized(varMerged, ndim)
1035sample = getUnifRand(-1., +1., ndim, ub(nsam))
1036sample
1037+0.262256742, +0.326944947, +0.917922258, +0.538078070, -0.210764289, +0.823613048, -0.299220443, -0.170571446
1038var(:,0) = getVar(sample, dim)
1039var(:,0) ! reference
1040+0.193826094
1041do isam = 1, nsam
1042 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1043 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1044end do
1045call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1046varMerged
1047+0.193826079
1048call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1049var(:,2)
1050+0.193826079
1051var(:,0) ! reference
1052+0.193826094
1053
1054
1055dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1056do isam = 2, nsam
1057 lb(isam) = ub(isam - 1) + 1
1058 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1059end do
1060lb
1061+1, +6
1062ub
1063+5, +11
1064ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1065call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1066call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1067call setResized(varMerged, ndim)
1068sample = getUnifRand(-1., +1., ndim, ub(nsam))
1069sample
1070+0.643550515, -0.891264558, +0.447398901, -0.870571613, +0.927083969, -0.677865624, -0.132524729, -0.825998783E-1, -0.359449863, +0.400723577, +0.430679202
1071var(:,0) = getVar(sample, dim)
1072var(:,0) ! reference
1073+0.362067312
1074do isam = 1, nsam
1075 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1076 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1077end do
1078call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1079varMerged
1080+0.362067342
1081call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1082var(:,2)
1083+0.362067342
1084var(:,0) ! reference
1085+0.362067312
1086
1087
1088dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1089do isam = 2, nsam
1090 lb(isam) = ub(isam - 1) + 1
1091 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1092end do
1093lb
1094+1, +7
1095ub
1096+6, +11
1097ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1098call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1099call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1100call setResized(varMerged, ndim)
1101sample = getUnifRand(-1., +1., ndim, ub(nsam))
1102sample
1103+0.591102123, +0.158055663, -0.653327107, +0.767853379, +0.100939274E-1, -0.740361810, +0.951668024, +0.518260241, +0.815117359E-1, -0.577678084, -0.668644071
1104var(:,0) = getVar(sample, dim)
1105var(:,0) ! reference
1106+0.353025436
1107do isam = 1, nsam
1108 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1109 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1110end do
1111call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1112varMerged
1113+0.353025436
1114call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1115var(:,2)
1116+0.353025436
1117var(:,0) ! reference
1118+0.353025436
1119
1120
1121dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1122do isam = 2, nsam
1123 lb(isam) = ub(isam - 1) + 1
1124 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1125end do
1126lb
1127+1, +7
1128ub
1129+6, +13
1130ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1131call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1132call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1133call setResized(varMerged, ndim)
1134sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1135sample
1136(-0.126476288E-1, +0.912351608E-1), (-0.256464481, +0.613908529), (+0.413810015, +0.288720489), (+0.204523206, +0.715348601), (+0.447022915E-1, -0.995965838), (+0.739053011, -0.789644718), (+0.133874893, +0.537430048E-1), (+0.105212927E-1, +0.138975978), (-0.571441174, -0.597128034), (+0.592389822, -0.125735402), (+0.315291286, +0.409012198), (-0.252358913, +0.636641979), (+0.883441925, -0.331953049)
1137(-0.502955794, -0.464842200), (+0.277886868, -0.920887589), (+0.887005091, +0.352511406), (-0.268300533, +0.305666924E-1), (-0.959437847, +0.143795490), (-0.867940426, +0.295158148), (-0.869491935, -0.200284839), (-0.164155722, -0.831591129), (+0.914741993, -0.191862583E-1), (-0.112508535, +0.962959886), (+0.612155199, -0.238772631), (-0.796514988, +0.737625003), (+0.532059550, +0.678499818)
1138var(:,0) = getVar(sample, dim)
1139var(:,0) ! reference
1140+0.442380220, +0.742350042
1141do isam = 1, nsam
1142 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1143 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1144end do
1145call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1146varMerged
1147+0.442380279, +0.742350101
1148call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1149var(:,2)
1150+0.442380279, +0.742350101
1151var(:,0) ! reference
1152+0.442380220, +0.742350042
1153
1154
1155dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1156do isam = 2, nsam
1157 lb(isam) = ub(isam - 1) + 1
1158 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1159end do
1160lb
1161+1, +6
1162ub
1163+5, +12
1164ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1165call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1166call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1167call setResized(varMerged, ndim)
1168sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1169sample
1170(+0.808130503, -0.390991807), (+0.338146329, -0.618746161), (+0.513154984, -0.433777928), (+0.115792871, -0.444639325), (-0.587761402, -0.652993917), (-0.539530277, +0.969924569), (-0.120231152, +0.250126362), (+0.977964401E-1, +0.893638015), (+0.239616513, +0.757834792), (-0.111284256, -0.711120367), (+0.290513515, -0.188244820), (-0.339172363, -0.690890670)
1171(+0.644578695, +0.321047783), (-0.735005021, +0.856800079E-1), (-0.232035279, +0.433197021), (+0.555115104, +0.379326344E-1), (+0.161392331, -0.176887155), (-0.320952535, +0.506532431), (+0.582489371, -0.482062697), (-0.345465660, +0.221789360), (-0.251729369, -0.899287701), (+0.630455971, +0.305621266), (-0.773149729, -0.413843036), (-0.493311524, +0.381389499)
1172var(:,0) = getVar(sample, dim)
1173var(:,0) ! reference
1174+0.545243382, +0.438230515
1175do isam = 1, nsam
1176 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1177 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1178end do
1179call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1180varMerged
1181+0.545243382, +0.438230544
1182call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1183var(:,2)
1184+0.545243382, +0.438230544
1185var(:,0) ! reference
1186+0.545243382, +0.438230515
1187
1188
1189dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1190do isam = 2, nsam
1191 lb(isam) = ub(isam - 1) + 1
1192 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1193end do
1194lb
1195+1, +4
1196ub
1197+3, +9
1198ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1199call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1200call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1201call setResized(varMerged, ndim)
1202sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1203sample
1204(-0.260365009E-1, -0.481344819), (+0.448194981, -0.184910178), (-0.572889686, +0.477628112), (-0.571240306, +0.958866119), (+0.556555271, -0.372226238E-1), (+0.969378710, +0.769129515), (-0.598190784, -0.230672479), (+0.936912179, -0.196218729), (-0.190650821, +0.814921618)
1205var(:,0) = getVar(sample, dim)
1206var(:,0) ! reference
1207+0.626890957
1208do isam = 1, nsam
1209 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1210 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1211end do
1212call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1213varMerged
1214+0.626890957
1215call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1216var(:,2)
1217+0.626890957
1218var(:,0) ! reference
1219+0.626890957
1220
1221
1222dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1223do isam = 2, nsam
1224 lb(isam) = ub(isam - 1) + 1
1225 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1226end do
1227lb
1228+1, +5
1229ub
1230+4, +11
1231ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1232call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1233call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1234call setResized(varMerged, ndim)
1235sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1236sample
1237(+0.548242569, +0.817435503), (-0.714928627, +0.910810232E-1), (+0.625148296, -0.754720807), (+0.516124845, +0.329550385), (+0.743469834, +0.668153286), (+0.605001569, +0.373288989), (+0.159842968, -0.960388184E-1), (+0.161159396, +0.335026741), (-0.358446360, -0.178236485), (+0.148166537, +0.804740667), (+0.306304574, +0.520152569)
1238(+0.581233978, -0.576761484), (+0.190872312, +0.789755464), (+0.489081144E-1, -0.497144461), (+0.645821333, -0.113402486), (+0.206929564, -0.841662526), (-0.871820450, -0.791832328), (-0.728684902, +0.139729023), (-0.869853258, +0.293052077), (-0.919104338, -0.686519861), (-0.400845766, +0.998614788), (-0.944448709E-1, -0.147337794)
1239(-0.765865088, +0.999357939), (-0.106465697, -0.657376647), (+0.200438976, +0.125033259), (+0.362173796, +0.450037241), (-0.760166049, +0.633422136E-1), (-0.885819197, -0.740878224), (-0.931785226, -0.705699682), (+0.620398521E-1, -0.394546270), (+0.688846469, +0.603306651), (-0.802195549, +0.538636208), (-0.325897217, -0.636561036)
1240var(:,0) = getVar(sample, dim)
1241var(:,0) ! reference
1242+0.385701269, +0.674074352, +0.651144922
1243do isam = 1, nsam
1244 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1245 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1246end do
1247call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1248varMerged
1249+0.385701239, +0.674074292, +0.651144862
1250call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1251var(:,2)
1252+0.385701239, +0.674074292, +0.651144862
1253var(:,0) ! reference
1254+0.385701269, +0.674074352, +0.651144922
1255
1256
1257dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1258do isam = 2, nsam
1259 lb(isam) = ub(isam - 1) + 1
1260 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1261end do
1262lb
1263+1, +4
1264ub
1265+3, +7
1266ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1267call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1268call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1269call setResized(varMerged, ndim)
1270sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), -getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1271sample
1272(+0.725114226, -0.197496891), (-0.710519433, -0.430784702), (+0.560350180, -0.958535552), (-0.543453932, -0.204392076), (+0.821977735, +0.724628925), (-0.467937350, +0.312224865), (+0.244568229, +0.471392632)
1273(-0.152471066E-1, +0.249912262), (+0.916773558, +0.265466809), (+0.818207145, -0.819630027), (-0.563442469, -0.602471709), (-0.327858925E-1, -0.392822981), (-0.450326204, -0.927865505E-2), (-0.467052698, +0.502619624)
1274(-0.808493733, +0.584389329), (-0.767815351, +0.932148099), (+0.144183397, -0.133702278), (+0.739225626, -0.882296443), (-0.756782293, +0.406535029), (+0.641397715, +0.880883813), (+0.807796717, +0.821290135)
1275var(:,0) = getVar(sample, dim)
1276var(:,0) ! reference
1277+0.650880337, +0.532205462, +0.870996356
1278do isam = 1, nsam
1279 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), dim)
1280 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), dim)
1281end do
1282call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1283varMerged
1284+0.650880337, +0.532205462, +0.870996356
1285call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(ub(1), TKG) / real(ub(2), TKG))
1286var(:,2)
1287+0.650880337, +0.532205462, +0.870996356
1288var(:,0) ! reference
1289+0.650880337, +0.532205462, +0.870996356
1290
1291
1292!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1293!Compute the biased merged variance of a frequency weighted multivariate sample.
1294!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1295
1296
1297dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1298do isam = 2, nsam
1299 lb(isam) = ub(isam - 1) + 1
1300 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1301end do
1302lb
1303+1, +5
1304ub
1305+4, +8
1306ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1307call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1308call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1309call setResized(varMerged, ndim)
1310sample = getUnifRand(-1., +1., ndim, ub(nsam))
1311sample
1312-0.779642463, +0.371027350, +0.983049035, +0.724993110, +0.754500628E-1, -0.395085812E-1, +0.228537321, +0.546303391
1313-0.514171004, +0.443769574, +0.689239621, +0.910249829, -0.611693978, -0.966423988, -0.661731243, +0.298497200
1314-0.261814475, -0.914427042E-1, +0.331742883, -0.883565307, -0.164275289, +0.419911146E-1, +0.334653974, -0.766766906
1315iweight = getUnifRand(1, 10, size(sample, dim, IK))
1316iweight
1317+8, +6, +9, +2, +3, +4, +3, +5
1318var(:,0) = getVar(sample, 2_IK, iweight)
1319var(:,0) ! reference
1320+0.368060052, +0.396077842, +0.149744704
1321do isam = 1, nsam
1322 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1323 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1324end do
1325call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1326varMerged
1327+0.368060082, +0.396077842, +0.149744704
1328call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1329var(:,2)
1330+0.368060082, +0.396077842, +0.149744704
1331var(:,0) ! reference
1332+0.368060052, +0.396077842, +0.149744704
1333
1334
1335dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1336do isam = 2, nsam
1337 lb(isam) = ub(isam - 1) + 1
1338 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1339end do
1340lb
1341+1, +3
1342ub
1343+2, +4
1344ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1345call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1346call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1347call setResized(varMerged, ndim)
1348sample = getUnifRand(-1., +1., ndim, ub(nsam))
1349sample
1350+0.790132046, +0.995968819, -0.117847443, -0.196304917
1351iweight = getUnifRand(1, 10, size(sample, dim, IK))
1352iweight
1353+5, +9, +3, +9
1354var(:,0) = getVar(sample, 2_IK, iweight)
1355var(:,0) ! reference
1356+0.306014031
1357do isam = 1, nsam
1358 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1359 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1360end do
1361call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1362varMerged
1363+0.306014031
1364call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1365var(:,2)
1366+0.306014031
1367var(:,0) ! reference
1368+0.306014031
1369
1370
1371dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1372do isam = 2, nsam
1373 lb(isam) = ub(isam - 1) + 1
1374 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1375end do
1376lb
1377+1, +7
1378ub
1379+6, +13
1380ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1381call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1382call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1383call setResized(varMerged, ndim)
1384sample = getUnifRand(-1., +1., ndim, ub(nsam))
1385sample
1386+0.880890489, -0.225948930, +0.695374489, -0.715105891, -0.650427461, -0.210168004, -0.793861270, +0.989555955, +0.521224380, -0.521412969, +0.255403876, -0.745594501E-2, -0.667250633
1387-0.952096462, +0.294235349, -0.127303600, +0.655461192, +0.755432963, +0.754771471, +0.330180645, +0.184328914, -0.461623788, -0.647416949, +0.923807383, +0.682372689, -0.703441501
1388-0.774365664E-1, +0.482311606, -0.224624634, +0.532164693, +0.253500819, -0.967351794, -0.606431961E-1, -0.901088357, -0.880862355, -0.675177693, +0.315366030, +0.376101136, +0.136048079
1389iweight = getUnifRand(1, 10, size(sample, dim, IK))
1390iweight
1391+6, +10, +3, +6, +1, +2, +2, +4, +8, +6, +6, +7, +7
1392var(:,0) = getVar(sample, 2_IK, iweight)
1393var(:,0) ! reference
1394+0.333630919, +0.396812975, +0.291316450
1395do isam = 1, nsam
1396 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1397 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1398end do
1399call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1400varMerged
1401+0.333630919, +0.396813065, +0.291316479
1402call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1403var(:,2)
1404+0.333630919, +0.396813065, +0.291316479
1405var(:,0) ! reference
1406+0.333630919, +0.396812975, +0.291316450
1407
1408
1409dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1410do isam = 2, nsam
1411 lb(isam) = ub(isam - 1) + 1
1412 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1413end do
1414lb
1415+1, +6
1416ub
1417+5, +8
1418ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1419call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1420call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1421call setResized(varMerged, ndim)
1422sample = getUnifRand(-1., +1., ndim, ub(nsam))
1423sample
1424-0.870981216, -0.293064356, -0.476996541, +0.612924337, -0.142254233, +0.146249533E-1, +0.483549595, -0.191353083
1425+0.610053539E-1, -0.745706081, -0.313334703, +0.648646593, -0.636996031E-1, +0.152570724, -0.305884004, -0.939720511
1426+0.205127716, -0.928659797, +0.393368483, +0.923581481, +0.225257874E-2, -0.596172810, -0.672949672, +0.180585384
1427iweight = getUnifRand(1, 10, size(sample, dim, IK))
1428iweight
1429+6, +3, +10, +8, +6, +4, +4, +10
1430var(:,0) = getVar(sample, 2_IK, iweight)
1431var(:,0) ! reference
1432+0.208262056, +0.261129141, +0.273321450
1433do isam = 1, nsam
1434 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1435 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1436end do
1437call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1438varMerged
1439+0.208262071, +0.261129111, +0.273321420
1440call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1441var(:,2)
1442+0.208262071, +0.261129111, +0.273321420
1443var(:,0) ! reference
1444+0.208262056, +0.261129141, +0.273321450
1445
1446
1447dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1448do isam = 2, nsam
1449 lb(isam) = ub(isam - 1) + 1
1450 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1451end do
1452lb
1453+1, +5
1454ub
1455+4, +9
1456ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1457call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1458call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1459call setResized(varMerged, ndim)
1460sample = getUnifRand(-1., +1., ndim, ub(nsam))
1461sample
1462+0.543098927, +0.470154405, -0.573689699, +0.151789427, +0.116292834, +0.306769252, +0.586919188, +0.474532962, +0.681506157
1463iweight = getUnifRand(1, 10, size(sample, dim, IK))
1464iweight
1465+3, +3, +8, +6, +2, +2, +5, +10, +9
1466var(:,0) = getVar(sample, 2_IK, iweight)
1467var(:,0) ! reference
1468+0.179028332
1469do isam = 1, nsam
1470 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1471 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1472end do
1473call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1474varMerged
1475+0.179028332
1476call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1477var(:,2)
1478+0.179028332
1479var(:,0) ! reference
1480+0.179028332
1481
1482
1483dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1484do isam = 2, nsam
1485 lb(isam) = ub(isam - 1) + 1
1486 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1487end do
1488lb
1489+1, +7
1490ub
1491+6, +11
1492ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1493call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1494call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1495call setResized(varMerged, ndim)
1496sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1497sample
1498(-0.110805631, +0.439788103E-1), (-0.408427835, +0.661906719), (+0.763092518, -0.279502869E-1), (-0.907828569, -0.599026680E-3), (+0.925187469, -0.242151618), (-0.469572783, -0.868839622), (+0.841831684, +0.544157147), (+0.764955044, +0.999729037), (-0.830718398, +0.848671794), (-0.405682564, +0.131775856), (-0.347328067, +0.254027843)
1499(+0.805351973, -0.249896288), (+0.350865483, -0.575051188), (-0.677763820, +0.253325582), (+0.190366507E-1, +0.110494018), (+0.895068169, +0.574787736), (+0.285439491, +0.768496037), (-0.506423950, +0.479465127), (+0.452468157, +0.881928563), (-0.155337095, -0.144932508), (-0.838672400, +0.782617092), (+0.104426503, +0.787577391)
1500(+0.798611879, +0.723740339), (-0.636818051, -0.709580898), (-0.337017894, -0.815467119), (+0.905082941, -0.958695173), (-0.132172585, -0.349843621), (-0.648707986, -0.303443193), (+0.444703221, -0.297963619), (+0.683942914, -0.484762311), (+0.413931131, +0.464705110), (+0.926955462, +0.775889754), (-0.363178015, -0.409186363)
1501iweight = getUnifRand(1, 10, size(sample, dim, IK))
1502iweight
1503+3, +8, +10, +9, +3, +10, +10, +4, +1, +7, +5
1504var(:,0) = getVar(sample, 2_IK, iweight)
1505var(:,0) ! reference
1506+0.709448814, +0.472461492, +0.678329170
1507do isam = 1, nsam
1508 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1509 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1510end do
1511call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1512varMerged
1513+0.709448814, +0.472461462, +0.678329110
1514call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1515var(:,2)
1516+0.709448814, +0.472461462, +0.678329110
1517var(:,0) ! reference
1518+0.709448814, +0.472461492, +0.678329170
1519
1520
1521dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1522do isam = 2, nsam
1523 lb(isam) = ub(isam - 1) + 1
1524 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1525end do
1526lb
1527+1, +7
1528ub
1529+6, +10
1530ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1531call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1532call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1533call setResized(varMerged, ndim)
1534sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1535sample
1536(+0.575099587, -0.471512079), (+0.165558100, -0.468282700E-1), (-0.658837199, +0.264920592), (+0.451726437, +0.967319965), (+0.342851877E-1, -0.605301261), (-0.115012884, -0.474712253), (+0.317890763, -0.746603370), (+0.775372744, -0.376402974), (+0.577189803, +0.929316282), (-0.736213923, -0.590994477)
1537(+0.470925212, -0.374642253), (-0.166514754, +0.990130663), (+0.510759592, +0.173046350), (-0.484069705, +0.586073756), (-0.619891047, +0.556636572), (+0.611860633, +0.454061270), (-0.555001736, +0.942466259E-1), (+0.903034806, -0.988619804), (+0.890161157, +0.940995455), (-0.975872040, +0.471503973)
1538(+0.451868176, -0.790648222), (-0.728680253, -0.599483848), (-0.760388374E-2, -0.214623213E-1), (-0.425395846, +0.865186930), (-0.115696669, -0.113111734), (-0.212013364, -0.849994540), (+0.980087042, +0.210381150), (-0.389831781, -0.978950143), (+0.751599908, +0.954835415), (+0.231431603, +0.429676414)
1539(-0.851721883, -0.968904972), (+0.277927518, +0.457118273), (-0.167479038, +0.226785779), (+0.215460896, +0.448988795), (-0.153288841E-1, -0.977933407E-1), (-0.705790520E-2, -0.917219281), (+0.718338251, -0.527290583), (-0.595315814, -0.355173588), (+0.676217318, +0.833532214), (-0.888010144, -0.279803038)
1540iweight = getUnifRand(1, 10, size(sample, dim, IK))
1541iweight
1542+10, +4, +1, +1, +6, +6, +8, +7, +2, +10
1543var(:,0) = getVar(sample, 2_IK, iweight)
1544var(:,0) ! reference
1545+0.404116631, +0.823002040, +0.614940166, +0.591328502
1546do isam = 1, nsam
1547 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1548 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1549end do
1550call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1551varMerged
1552+0.404116660, +0.823002040, +0.614940166, +0.591328502
1553call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1554var(:,2)
1555+0.404116660, +0.823002040, +0.614940166, +0.591328502
1556var(:,0) ! reference
1557+0.404116631, +0.823002040, +0.614940166, +0.591328502
1558
1559
1560dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1561do isam = 2, nsam
1562 lb(isam) = ub(isam - 1) + 1
1563 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1564end do
1565lb
1566+1, +5
1567ub
1568+4, +11
1569ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1570call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1571call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1572call setResized(varMerged, ndim)
1573sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1574sample
1575(-0.577630997E-1, -0.467085600), (+0.229264498, -0.222207665), (+0.896920800, +0.581840277), (-0.696803451, -0.667212129), (+0.356100321, -0.512730718), (-0.464267969, -0.433839083), (-0.269405484, +0.604135036), (-0.981544495, +0.772737384), (-0.383558869, +0.820497155), (-0.307947040, -0.910818934), (-0.198361635, +0.624143124)
1576(-0.360828519, -0.514466643), (+0.378947377, -0.639093757), (+0.587266088, +0.482337713), (+0.183734059, -0.765872002E-2), (+0.784380078, +0.158514261), (-0.862934589E-1, -0.717438698), (-0.610728383, -0.822508335E-2), (+0.824229479, -0.541968346), (-0.239370227, +0.143245697), (-0.950540900, -0.675868988E-2), (-0.759616375, +0.329940557)
1577iweight = getUnifRand(1, 10, size(sample, dim, IK))
1578iweight
1579+5, +3, +9, +5, +7, +5, +5, +1, +5, +9, +3
1580var(:,0) = getVar(sample, 2_IK, iweight)
1581var(:,0) ! reference
1582+0.665977597, +0.512763381
1583do isam = 1, nsam
1584 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1585 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1586end do
1587call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1588varMerged
1589+0.665977657, +0.512763381
1590call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1591var(:,2)
1592+0.665977657, +0.512763381
1593var(:,0) ! reference
1594+0.665977597, +0.512763381
1595
1596
1597dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1598do isam = 2, nsam
1599 lb(isam) = ub(isam - 1) + 1
1600 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1601end do
1602lb
1603+1, +5
1604ub
1605+4, +9
1606ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1607call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1608call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1609call setResized(varMerged, ndim)
1610sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1611sample
1612(-0.661615491, +0.133234262), (+0.615461707, -0.850202799), (+0.737609029, -0.233716607), (+0.835180759, +0.689581156), (+0.416536570, +0.848124862), (-0.387149096, +0.902991295E-1), (-0.431600571, -0.740782976), (-0.367417812, +0.453714728), (-0.771054387, +0.427305102)
1613(+0.645748377, +0.166920424E-1), (-0.424215794E-1, -0.673459411), (+0.171316266, +0.828112125), (-0.778745174, +0.665221214E-1), (+0.499007702, +0.330409408), (-0.949708223, -0.432239652), (+0.992193222E-1, -0.925495744), (-0.186007142, -0.913597822), (+0.357642651, +0.451224208)
1614iweight = getUnifRand(1, 10, size(sample, dim, IK))
1615iweight
1616+9, +1, +7, +5, +6, +5, +10, +5, +4
1617var(:,0) = getVar(sample, 2_IK, iweight)
1618var(:,0) ! reference
1619+0.630700648, +0.638704479
1620do isam = 1, nsam
1621 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1622 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1623end do
1624call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1625varMerged
1626+0.630700588, +0.638704479
1627call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1628var(:,2)
1629+0.630700588, +0.638704479
1630var(:,0) ! reference
1631+0.630700648, +0.638704479
1632
1633
1634dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1635do isam = 2, nsam
1636 lb(isam) = ub(isam - 1) + 1
1637 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1638end do
1639lb
1640+1, +7
1641ub
1642+6, +10
1643ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1644call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1645call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1646call setResized(varMerged, ndim)
1647sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1648sample
1649(-0.533411860, -0.463769436), (-0.419325590, +0.961975336), (+0.571228266, -0.208961368), (+0.468949318, -0.235208035), (+0.972064614, +0.319884419), (+0.421098590, +0.627359748), (-0.563890576, -0.351084948), (+0.652729869, +0.930560827E-1), (-0.895299792, -0.917794704E-1), (+0.228907585, -0.995567203)
1650(+0.147814989, +0.318635464), (+0.644891143, +0.670288801), (+0.967107773, +0.634981751), (+0.627987385, +0.374973893), (-0.834370852E-1, +0.407241583), (+0.437807202, +0.906183481), (+0.960109353, +0.387710214), (+0.213797331, -0.320132852), (-0.686890960, -0.962248683), (-0.908545136, +0.853506327)
1651(-0.964905500, +0.780199647), (-0.713003039, -0.394178391), (-0.419936061, +0.179493308), (-0.630067468, +0.271220446), (-0.901868463, +0.133824468), (-0.216668963, +0.429481626), (+0.978754640, +0.908523679), (-0.839982986, -0.903547645), (-0.133272886, +0.731321454), (+0.961488485, +0.928944707)
1652(-0.843516707, +0.706558824), (-0.407084465, +0.292482615), (-0.658698678, +0.465146542), (-0.910426259, -0.161078095), (+0.418271542, +0.997216582), (+0.527197719, +0.391407013), (+0.371357918, -0.138603210), (-0.264609814, +0.761967421), (-0.214399099, -0.124849081E-1), (-0.219334722, +0.839722157E-2)
1653iweight = getUnifRand(1, 10, size(sample, dim, IK))
1654iweight
1655+2, +3, +3, +3, +9, +8, +10, +3, +9, +5
1656var(:,0) = getVar(sample, 2_IK, iweight)
1657var(:,0) ! reference
1658+0.697316885, +0.798430622, +0.756463230, +0.383753330
1659do isam = 1, nsam
1660 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1661 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, iweight(lb(isam):ub(isam)))
1662end do
1663call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1664varMerged
1665+0.697316885, +0.798430681, +0.756463230, +0.383753359
1666call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(iweight(:ub(1))), TKG) / real(sum(iweight), TKG))
1667var(:,2)
1668+0.697316885, +0.798430681, +0.756463230, +0.383753359
1669var(:,0) ! reference
1670+0.697316885, +0.798430622, +0.756463230, +0.383753330
1671
1672
1673!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1674!Compute the biased merged variance of a reliability weighted multivariate sample.
1675!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1676
1677
1678dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1679do isam = 2, nsam
1680 lb(isam) = ub(isam - 1) + 1
1681 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1682end do
1683lb
1684+1, +4
1685ub
1686+3, +5
1687ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1688call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1689call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1690call setResized(varMerged, ndim)
1691sample = getUnifRand(-1., +1., ndim, ub(nsam))
1692sample
1693-0.294872522E-1, +0.536496997, -0.259611011, +0.925314546, +0.271661162
1694rweight = getUnifRand(1., 2., size(sample, dim, IK))
1695rweight
1696+1.09982061, +1.00587916, +1.34108925, +1.43254757, +1.70560205
1697var(:,0) = getVar(sample, 2_IK, rweight)
1698var(:,0) ! reference
1699+0.175711095
1700do isam = 1, nsam
1701 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1702 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1703end do
1704call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1705varMerged
1706+0.175711095
1707call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1708var(:,2)
1709+0.175711095
1710var(:,0) ! reference
1711+0.175711095
1712
1713
1714dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1715do isam = 2, nsam
1716 lb(isam) = ub(isam - 1) + 1
1717 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1718end do
1719lb
1720+1, +4
1721ub
1722+3, +8
1723ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1724call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1725call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1726call setResized(varMerged, ndim)
1727sample = getUnifRand(-1., +1., ndim, ub(nsam))
1728sample
1729+0.420074224, -0.892275095, +0.426792622, +0.376040459, +0.320909858, +0.618546009E-1, +0.970496058, -0.543833852
1730rweight = getUnifRand(1., 2., size(sample, dim, IK))
1731rweight
1732+1.57970023, +1.44116843, +1.31975746, +1.38179147, +1.39179289, +1.61909580, +1.54918575, +1.42732441
1733var(:,0) = getVar(sample, 2_IK, rweight)
1734var(:,0) ! reference
1735+0.310489923
1736do isam = 1, nsam
1737 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1738 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1739end do
1740call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1741varMerged
1742+0.310489953
1743call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1744var(:,2)
1745+0.310489953
1746var(:,0) ! reference
1747+0.310489923
1748
1749
1750dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1751do isam = 2, nsam
1752 lb(isam) = ub(isam - 1) + 1
1753 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1754end do
1755lb
1756+1, +8
1757ub
1758+7, +13
1759ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1760call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1761call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1762call setResized(varMerged, ndim)
1763sample = getUnifRand(-1., +1., ndim, ub(nsam))
1764sample
1765+0.144684315E-1, -0.536210418, -0.258387208, -0.239539146E-2, -0.330352783, +0.758076787, +0.949331999, +0.208339691E-1, +0.683854461, +0.550213337, +0.201261401, -0.459007025E-1, +0.515185595
1766+0.778736472, -0.917596817E-1, +0.267517686, -0.250741005, -0.339260101E-1, +0.525115848, -0.230787158, -0.903751612, +0.979999900, -0.249299645, +0.684985399, -0.758591890, +0.836594224
1767+0.394351959, +0.909280539, -0.593260646, -0.124391675, +0.259449840, -0.432466984, +0.812274814, +0.914189816, -0.690861344, -0.929305077, -0.467175603, -0.614592314, +0.689827800
1768+0.348502398, -0.968733430, +0.823031425, -0.679515123, +0.109736443, -0.933242202, +0.596804857, -0.963299990, -0.980430484, -0.952750802, -0.137513876, -0.601627827E-1, +0.684206486
1769+0.270177007, +0.329240441, +0.990133762, -0.927620530, +0.809823275E-1, +0.424442410, +0.130565763, +0.580305099, -0.693318844, -0.639566183E-1, +0.418526053, +0.404731631, -0.409157276
1770-0.729846954E-1, -0.956584215E-1, -0.199806333, -0.903074384, +0.630893588, +0.139374852, -0.705280185, -0.338845253E-1, -0.311741352, +0.424057245E-1, -0.710073233, -0.315279245, -0.382762790
1771rweight = getUnifRand(1., 2., size(sample, dim, IK))
1772rweight
1773+1.82331169, +1.96306002, +1.72512794, +1.79210806, +1.89955807, +1.12479019, +1.32384932, +1.26713276, +1.61302137, +1.38932955, +1.58290017, +1.87146449, +1.78625298
1774var(:,0) = getVar(sample, 2_IK, rweight)
1775var(:,0) ! reference
1776+0.189214170, +0.337006986, +0.409951091, +0.448933899, +0.268291026, +0.157651469
1777do isam = 1, nsam
1778 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1779 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1780end do
1781call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1782varMerged
1783+0.189214185, +0.337007016, +0.409951121, +0.448933870, +0.268290997, +0.157651514
1784call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1785var(:,2)
1786+0.189214185, +0.337007016, +0.409951121, +0.448933870, +0.268290997, +0.157651514
1787var(:,0) ! reference
1788+0.189214170, +0.337006986, +0.409951091, +0.448933899, +0.268291026, +0.157651469
1789
1790
1791dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1792do isam = 2, nsam
1793 lb(isam) = ub(isam - 1) + 1
1794 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1795end do
1796lb
1797+1, +6
1798ub
1799+5, +7
1800ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1801call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1802call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1803call setResized(varMerged, ndim)
1804sample = getUnifRand(-1., +1., ndim, ub(nsam))
1805sample
1806+0.929083824, +0.220651746, -0.921595097, -0.616780877, -0.756878138, +0.697091460, -0.441668153
1807-0.753165483E-1, +0.732868910, -0.658041239E-1, +0.801245809, -0.230922699, -0.145011902, +0.565424323
1808rweight = getUnifRand(1., 2., size(sample, dim, IK))
1809rweight
1810+1.79460859, +1.08830285, +1.17355311, +1.95332336, +1.09231496, +1.48970294, +1.07883644
1811var(:,0) = getVar(sample, 2_IK, rweight)
1812var(:,0) ! reference
1813+0.502466500, +0.180449650
1814do isam = 1, nsam
1815 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1816 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1817end do
1818call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1819varMerged
1820+0.502466559, +0.180449665
1821call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1822var(:,2)
1823+0.502466559, +0.180449665
1824var(:,0) ! reference
1825+0.502466500, +0.180449650
1826
1827
1828dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1829do isam = 2, nsam
1830 lb(isam) = ub(isam - 1) + 1
1831 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1832end do
1833lb
1834+1, +6
1835ub
1836+5, +9
1837ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1838call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1839call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1840call setResized(varMerged, ndim)
1841sample = getUnifRand(-1., +1., ndim, ub(nsam))
1842sample
1843-0.987186193, -0.218339920, +0.429356575, +0.136347055, +0.817507148, +0.541962266, -0.132597804, -0.758635402, -0.193426609E-1
1844rweight = getUnifRand(1., 2., size(sample, dim, IK))
1845rweight
1846+1.31794667, +1.63985586, +1.52921987, +1.84324276, +1.55274868, +1.05074430, +1.69497228, +1.90544558, +1.02734423
1847var(:,0) = getVar(sample, 2_IK, rweight)
1848var(:,0) ! reference
1849+0.304180384
1850do isam = 1, nsam
1851 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1852 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1853end do
1854call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1855varMerged
1856+0.304180354
1857call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1858var(:,2)
1859+0.304180354
1860var(:,0) ! reference
1861+0.304180384
1862
1863
1864dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1865do isam = 2, nsam
1866 lb(isam) = ub(isam - 1) + 1
1867 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1868end do
1869lb
1870+1, +5
1871ub
1872+4, +11
1873ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1874call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1875call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1876call setResized(varMerged, ndim)
1877sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1878sample
1879(+0.897367001E-1, +0.373042822E-1), (+0.934708595, -0.476573348), (-0.989857554, -0.377285838), (+0.194489837, +0.339296699), (-0.413433909, +0.244913220), (-0.181436419, -0.851235747), (-0.744381309, -0.117990971E-1), (-0.561195850, +0.125545263E-1), (-0.393722057E-1, -0.810455799), (-0.538261652, -0.831589699), (+0.447227955, -0.219803929)
1880(-0.829147696, -0.148072720), (+0.219634175, -0.111380696), (-0.766499758, +0.982205629), (+0.831144810, +0.210317016), (+0.872107506, +0.118392706), (-0.716125727, -0.613348246), (-0.308665633, +0.285043240), (-0.694833398, -0.439177155), (+0.719134092, -0.163181663), (+0.246385455, +0.510793686), (-0.255047083, +0.972297072)
1881(-0.957393169, -0.128304243), (-0.573877215, +0.396553874), (+0.314751148, -0.282728672E-2), (+0.768921137, -0.179357529), (+0.162391543, -0.263881683), (-0.784497261E-1, +0.740525603), (-0.733306408, -0.756566525), (+0.953020453, +0.483871818), (-0.440106869, -0.979465723), (-0.839006424, -0.956128240), (+0.126659870E-1, -0.856366038)
1882rweight = getUnifRand(1., 2., size(sample, dim, IK))
1883rweight
1884+1.44226301, +1.19237030, +1.08518887, +1.08148789, +1.71804023, +1.03792644, +1.25479221, +1.52199984, +1.34539700, +1.23475838, +1.84177411
1885var(:,0) = getVar(sample, 2_IK, rweight)
1886var(:,0) ! reference
1887+0.436836034, +0.653117299, +0.694399536
1888do isam = 1, nsam
1889 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1890 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1891end do
1892call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1893varMerged
1894+0.436836064, +0.653117359, +0.694399655
1895call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1896var(:,2)
1897+0.436836064, +0.653117359, +0.694399655
1898var(:,0) ! reference
1899+0.436836034, +0.653117299, +0.694399536
1900
1901
1902dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1903do isam = 2, nsam
1904 lb(isam) = ub(isam - 1) + 1
1905 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1906end do
1907lb
1908+1, +8
1909ub
1910+7, +11
1911ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1912call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1913call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1914call setResized(varMerged, ndim)
1915sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1916sample
1917(+0.891407251, -0.303508401), (-0.470538139E-1, +0.883267045), (-0.800948739, +0.801616907), (+0.898117542, +0.298117518), (+0.728914499, -0.370856881), (+0.180066705, +0.231957912), (+0.681900740, -0.899252176), (+0.237375021, +0.170433640), (-0.429615855, +0.561780930), (-0.630203962, +0.558818817), (-0.861097574, +0.458370209)
1918(+0.918472648, -0.517752171), (+0.508970737, -0.787662983), (-0.421175838, +0.928377390), (-0.509467721, +0.975701690), (+0.369640470, +0.513610959), (-0.167221904, -0.500504136), (+0.764301896, +0.455288649), (+0.459194064, +0.152505755), (-0.779030085, +0.125599980), (+0.733575583, -0.347634196), (-0.393433928, +0.413806200)
1919rweight = getUnifRand(1., 2., size(sample, dim, IK))
1920rweight
1921+1.95097530, +1.76496887, +1.08978975, +1.86465764, +1.35181022, +1.11587453, +1.75375426, +1.96317148, +1.31884217, +1.13044310, +1.35277224
1922var(:,0) = getVar(sample, 2_IK, rweight)
1923var(:,0) ! reference
1924+0.680343688, +0.660446346
1925do isam = 1, nsam
1926 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1927 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1928end do
1929call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1930varMerged
1931+0.680343747, +0.660446405
1932call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1933var(:,2)
1934+0.680343747, +0.660446405
1935var(:,0) ! reference
1936+0.680343688, +0.660446346
1937
1938
1939dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1940do isam = 2, nsam
1941 lb(isam) = ub(isam - 1) + 1
1942 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1943end do
1944lb
1945+1, +6
1946ub
1947+5, +8
1948ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1949call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1950call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1951call setResized(varMerged, ndim)
1952sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1953sample
1954(+0.542622209, -0.695941329), (-0.272163749, +0.176460981), (+0.834719539, +0.395533204), (-0.206228733, -0.282016754), (+0.344046235, +0.908018947), (+0.793401122, -0.153975606), (-0.114643574E-1, +0.660843015), (-0.585276365, +0.931176782)
1955(-0.900015235, -0.835314393), (+0.501311183, +0.977442384), (-0.924220562, -0.333323717), (+0.288808942, +0.866656780), (-0.867475510, +0.883567691), (+0.570622444, +0.308579206), (-0.925772548, -0.805828214), (+0.443373919E-1, +0.942093372)
1956rweight = getUnifRand(1., 2., size(sample, dim, IK))
1957rweight
1958+1.70636415, +1.79143858, +1.09774244, +1.42500544, +1.98922646, +1.47903538, +1.96072054, +1.52217817
1959var(:,0) = getVar(sample, 2_IK, rweight)
1960var(:,0) ! reference
1961+0.534890652, +1.00125861
1962do isam = 1, nsam
1963 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1964 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
1965end do
1966call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1967varMerged
1968+0.534890711, +1.00125849
1969call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
1970var(:,2)
1971+0.534890711, +1.00125849
1972var(:,0) ! reference
1973+0.534890652, +1.00125861
1974
1975
1976dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
1977do isam = 2, nsam
1978 lb(isam) = ub(isam - 1) + 1
1979 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
1980end do
1981lb
1982+1, +5
1983ub
1984+4, +10
1985ndim = getUnifRand(1, minval(ub - lb + 1, 1))
1986call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
1987call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
1988call setResized(varMerged, ndim)
1989sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
1990sample
1991(+0.179611444E-1, -0.557123303), (+0.236685276, +0.385071158), (+0.526175976, +0.412249565E-2), (-0.308982849, -0.638037920), (-0.297726631, -0.428469300), (-0.453162670, +0.853210568), (-0.384537578, -0.854053140), (-0.389002085, -0.772761106), (-0.910327315, -0.531966209), (+0.897499323, +0.131095290)
1992rweight = getUnifRand(1., 2., size(sample, dim, IK))
1993rweight
1994+1.16543996, +1.51121092, +1.10337925, +1.04596114, +1.75680780, +1.55163360, +1.32653379, +1.60578036, +1.68373585, +1.63415122
1995var(:,0) = getVar(sample, 2_IK, rweight)
1996var(:,0) ! reference
1997+0.560945630
1998do isam = 1, nsam
1999 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
2000 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
2001end do
2002call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
2003varMerged
2004+0.560945511
2005call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
2006var(:,2)
2007+0.560945511
2008var(:,0) ! reference
2009+0.560945630
2010
2011
2012dim = 2; lb(1) = 1; ub(1) = getUnifRand(2, 7)
2013do isam = 2, nsam
2014 lb(isam) = ub(isam - 1) + 1
2015 ub(isam) = ub(isam - 1) + getUnifRand(2, 7)
2016end do
2017lb
2018+1, +4
2019ub
2020+3, +7
2021ndim = getUnifRand(1, minval(ub - lb + 1, 1))
2022call setRebound(var, [1_IK, 0_IK], [ndim, nsam])
2023call setRebound(mean, [1_IK, 1_IK], [ndim, nsam])
2024call setResized(varMerged, ndim)
2025sample = cmplx(getUnifRand(-1., +1., ndim, ub(nsam)), getUnifRand(-1., +1., ndim, ub(nsam)), TKG)
2026sample
2027(-0.342988253, -0.356286168), (-0.388448715, -0.787526011), (-0.970162868, +0.244405985), (-0.336713076, +0.547979236), (-0.892581463, -0.895258307), (-0.686578393, -0.241750360), (-0.779499650, -0.794441700)
2028(+0.687131763, +0.215635896), (+0.204660892, -0.475227594), (+0.601498604, +0.304438353), (-0.406438947, -0.424983978), (-0.196833730, -0.402655244), (-0.747307181, +0.447738886), (-0.974823475, +0.923445106)
2029rweight = getUnifRand(1., 2., size(sample, dim, IK))
2030rweight
2031+1.38008273, +1.43141520, +1.28345358, +1.25248182, +1.21455884, +1.58050847, +1.83932710
2032var(:,0) = getVar(sample, 2_IK, rweight)
2033var(:,0) ! reference
2034+0.306904405, +0.639992476
2035do isam = 1, nsam
2036 var(:,isam) = getVar(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
2037 mean(:,isam) = getMean(sample(:,lb(isam):ub(isam)), 2_IK, rweight(lb(isam):ub(isam)))
2038end do
2039call setVarMerged(varMerged, var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
2040varMerged
2041+0.306904435, +0.639992416
2042call setVarMerged(var(:,2), var(:,1), mean(:,1) - mean(:,2), real(sum(rweight(:ub(1))), TKG) / real(sum(rweight), TKG))
2043var(:,2)
2044+0.306904435, +0.639992416
2045var(:,0) ! reference
2046+0.306904405, +0.639992476
2047
2048
Test:
test_pm_sampleVar


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.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

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.

Author:
Amir Shahmoradi, April 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 8705 of file pm_sampleVar.F90.


The documentation for this interface was generated from the following file: