15 type(display_type) :: disp
17 character(:, SK),
allocatable :: cform, gform
18 real(TKG) ,
parameter :: DUM
= -huge(
0._TKG)
19 complex(CKG) ,
parameter :: CMPLX_DUMM
= cmplx(
-huge(
0._CKG),
-huge(
0._CKG), CKG)
20 integer(IK) :: info, ndim, roff, coff
21 cform
= getFormat([CMPLX_DUMM], ed
= SK_
'f', signed
= .true.)
22 gform
= getFormat([DUM], ed
= SK_
'f', signed
= .true.)
28 real(TKG),
allocatable :: mat(:,:), cholow(:,:), choupp(:,:)
29 mat
= reshape( [
1._TKG,
0._TKG,
2._TKG &
30 ,
0._TKG,
4._TKG,
0._TKG &
31 ,
2._TKG,
0._TKG,
8._TKG &
32 ], shape
= [
3,
3], order
= [
2,
1])
39 call disp%show(
"call setMatChol(mat, uppDia, info, choupp, nothing)")
40 call setMatChol(mat, uppDia, info, choupp, nothing)
41 call disp%show(
"if (info /= 0) error stop")
42 if (info
/= 0)
error stop
48 call disp%show(
"call setMatChol(mat, uppDia, info, cholow, transHerm)")
49 call setMatChol(mat, uppDia, info, cholow, transHerm)
50 call disp%show(
"if (info /= 0) error stop")
51 if (info
/= 0)
error stop
54 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
55 call disp%show(
matmul(cholow, choupp)
- mat )
61 complex(TKG),
allocatable :: mat(:,:), cholow(:,:), choupp(:,:)
62 mat
= reshape( [ (
9.0,
0.0), (
3.0,
3.0), (
3.0,
-3.0)
&
63 , (
3.0,
-3.0),(
18.0,
0.0), (
8.0,
-6.0)
&
64 , (
3.0,
3.0), (
8.0,
6.0),(
43.0,
0.0)
&
65 ], shape
= [
3,
3], order
= [
2,
1])
72 call disp%show(
"call setMatChol(mat, uppDia, info, choupp, nothing)")
73 call setMatChol(mat, uppDia, info, choupp, nothing)
74 call disp%show(
"if (info /= 0) error stop")
75 if (info
/= 0)
error stop
81 call disp%show(
"call setMatChol(mat, uppDia, info, cholow, transHerm)")
82 call setMatChol(mat, uppDia, info, cholow, transHerm)
83 call disp%show(
"if (info /= 0) error stop")
84 if (info
/= 0)
error stop
87 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
88 call disp%show(
matmul(cholow, choupp)
- mat )
94 complex(TKG),
allocatable :: mat(:,:), cholow(:,:), choupp(:,:)
95 mat
= reshape( [ (
25.0,
0.0), (
-5.0,
-5.0), (
10.0,
5.0)
&
96 , (
-5.0,
5.0), (
51.0,
0.0), (
4.0,
-6.0)
&
97 , (
10.0,
-5.0), (
4.0,
6.0), (
71.0,
0.0)
&
98 ], shape
= [
3,
3], order
= [
2,
1])
105 call disp%show(
"call setMatChol(mat, uppDia, info, choupp, nothing)")
106 call setMatChol(mat, uppDia, info, choupp, nothing)
107 call disp%show(
"if (info /= 0) error stop")
108 if (info
/= 0)
error stop
114 call disp%show(
"call setMatChol(mat, uppDia, info, cholow, transHerm)")
115 call setMatChol(mat, uppDia, info, cholow, transHerm)
116 call disp%show(
"if (info /= 0) error stop")
117 if (info
/= 0)
error stop
120 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
121 call disp%show(
matmul(cholow, choupp)
- mat )
127 real(TKG),
allocatable :: mat(:,:), choupp(:,:), cholow(:,:)
128 mat
= reshape( [
1._TKG,
0._TKG,
2._TKG &
129 ,
0._TKG,
4._TKG,
0._TKG &
130 ,
2._TKG,
0._TKG,
8._TKG &
131 ], shape
= [
3,
3], order
= [
2,
1])
138 call disp%show(
"call setMatChol(mat, lowDia, info, cholow, nothing)")
139 call setMatChol(mat, lowDia, info, cholow, nothing)
140 call disp%show(
"if (info /= 0) error stop")
141 if (info
/= 0)
error stop
148 call disp%show(
"call setMatChol(mat, lowDia, info, choupp, transHerm)")
149 call setMatChol(mat, lowDia, info, choupp, transHerm)
150 call disp%show(
"if (info /= 0) error stop")
151 if (info
/= 0)
error stop
154 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
155 call disp%show(
matmul(cholow, choupp)
- mat )
161 complex(TKG),
allocatable :: mat(:,:), choupp(:,:), cholow(:,:)
162 mat
= reshape( [ (
9.0,
0.0), (
3.0,
3.0), (
3.0,
-3.0)
&
163 , (
3.0,
-3.0),(
18.0,
0.0), (
8.0,
-6.0)
&
164 , (
3.0,
3.0), (
8.0,
6.0),(
43.0,
0.0)
&
165 ], shape
= [
3,
3], order
= [
2,
1])
172 call disp%show(
"call setMatChol(mat, lowDia, info, cholow, nothing)")
173 call setMatChol(mat, lowDia, info, cholow, nothing)
174 call disp%show(
"if (info /= 0) error stop")
175 if (info
/= 0)
error stop
182 call disp%show(
"call setMatChol(mat, lowDia, info, choupp, transHerm)")
183 call setMatChol(mat, lowDia, info, choupp, transHerm)
184 call disp%show(
"if (info /= 0) error stop")
185 if (info
/= 0)
error stop
188 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
189 call disp%show(
matmul(cholow, choupp)
- mat )
195 complex(TKG),
allocatable :: mat(:,:), choupp(:,:), cholow(:,:)
196 mat
= reshape( [ (
25.0,
0.0), (
-5.0,
-5.0), (
10.0,
5.0)
&
197 , (
-5.0,
5.0), (
51.0,
0.0), (
4.0,
-6.0)
&
198 , (
10.0,
-5.0), (
4.0,
6.0), (
71.0,
0.0)
&
199 ], shape
= [
3,
3], order
= [
2,
1])
206 call disp%show(
"call setMatChol(mat, lowDia, info, cholow, nothing)")
207 call setMatChol(mat, lowDia, info, cholow, nothing)
208 call disp%show(
"if (info /= 0) error stop")
209 if (info
/= 0)
error stop
216 call disp%show(
"call setMatChol(mat, lowDia, info, choupp, transHerm)")
217 call setMatChol(mat, lowDia, info, choupp, transHerm)
218 call disp%show(
"if (info /= 0) error stop")
219 if (info
/= 0)
error stop
222 call disp%show(
"matmul(cholow, choupp) - mat ! must be all zero-valued elements.")
223 call disp%show(
matmul(cholow, choupp)
- mat )
228 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
229 call disp%show(
"!In-place and out-of-place factorization within the same matrix")
230 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
234 integer(IK),
parameter :: ndim
= 9
235 real(TKG) :: cholref(ndim, ndim), mat(ndim, ndim), matchol(ndim, ndim
+ 1)
236 mat
= reshape([
real(TKG) ::
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
237 ,
1.0,
2.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
238 ,
1.0,
2.0,
3.0, DUM, DUM, DUM, DUM, DUM, DUM
&
239 ,
1.0,
2.0,
3.0,
4.0, DUM, DUM, DUM, DUM, DUM
&
240 ,
1.0,
2.0,
3.0,
4.0,
5.0, DUM, DUM, DUM, DUM
&
241 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0, DUM, DUM, DUM
&
242 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0, DUM, DUM
&
243 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0, DUM
&
244 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0,
9.0 &
245 ], shape
= [ndim, ndim], order
= [
2,
1])
246 cholref
= reshape([
real(TKG)::
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
247 ,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
248 ,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM, DUM
&
249 ,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM
&
250 ,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM
&
251 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM
&
252 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM
&
253 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM
&
254 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
255 ], shape
= [ndim, ndim], order
= [
2,
1])
258 call disp%show( mat ,
format = gform )
260 call disp%show(
"matchol(:,1:ndim) = mat")
261 matchol(:,
1:ndim)
= mat
263 call disp%show( matchol(:,
1:ndim) ,
format = gform )
264 call disp%show(
"call setMatChol(matchol(:,1:ndim), lowDia, info, matchol(:,1:ndim), nothing)")
265 call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
1:ndim), nothing)
267 call disp%show( matchol(:,
1:ndim) ,
format = gform )
268 call disp%show(
"matchol(:,1:ndim) - cholref")
269 call disp%show( matchol(:,
1:ndim)
- cholref ,
format = gform )
270 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
271 if (info
/= 0)
error stop 'Cholesky factorization failed.'
274 call disp%show(
"matchol(:,1:ndim) = mat")
275 matchol(:,
1:ndim)
= mat
277 call disp%show( matchol(:,
1:ndim) ,
format = gform )
278 call disp%show(
"call setMatChol(matchol(:,1:ndim), lowDia, info, matchol(:,2:ndim+1), transHerm)")
279 call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
2:ndim
+1), transHerm)
280 call disp%show(
"matchol(:,2:ndim+1)")
281 call disp%show( matchol(:,
2:ndim
+1) ,
format = gform )
282 call disp%show(
"matchol(:,2:ndim+1) - transpose(cholref)")
283 call disp%show( matchol(:,
2:ndim
+1)
- transpose(cholref) ,
format = gform )
284 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
285 if (info
/= 0)
error stop 'Cholesky factorization failed.'
291 integer(IK),
parameter :: ndim
= 3
292 complex(TKG) :: cholref(ndim, ndim), mat(ndim, ndim), matchol(ndim, ndim
+ 1)
293 mat
= reshape( [
complex(CKG) ::(
25.0,
0.0), CMPLX_DUMM, CMPLX_DUMM
&
294 , (
-5.0,
5.0), (
51.0,
0.0), CMPLX_DUMM
&
295 , (
10.0,
-5.0), (
4.0,
6.0), (
71.0,
0.0)
&
296 ], shape
= [ndim, ndim], order
= [
2,
1])
297 cholref
= reshape( [
complex(CKG)::(
5.0,
0.0), CMPLX_DUMM, CMPLX_DUMM
&
298 , (
-1.0,
1.0), (
7.0,
0.0), CMPLX_DUMM
&
299 , (
2.0,
-1.0), (
1.0,
1.0), (
8.0,
0.0)
&
300 ], shape
= [ndim, ndim], order
= [
2,
1])
303 call disp%show( mat ,
format = cform )
305 call disp%show(
"matchol(:,1:ndim) = mat")
306 matchol(:,
1:ndim)
= mat
308 call disp%show( matchol(:,
1:ndim) ,
format = cform )
309 call disp%show(
"call setMatChol(matchol(:,1:ndim), lowDia, info, matchol(:,1:ndim), nothing)")
310 call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
1:ndim), nothing)
312 call disp%show( matchol(:,
1:ndim) ,
format = cform )
314 call disp%show( cholref ,
format = cform )
315 call disp%show(
"matchol(:,1:ndim) - cholref")
316 call disp%show( matchol(:,
1:ndim)
- cholref ,
format = cform )
317 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
318 if (info
/= 0)
error stop 'Cholesky factorization failed.'
321 call disp%show(
"matchol(:,1:ndim) = mat")
322 matchol(:,
1:ndim)
= mat
324 call disp%show( matchol(:,
1:ndim) ,
format = cform )
325 call disp%show(
"call setMatChol(matchol(:,1:ndim), lowDia, info, matchol(:,2:ndim+1), transHerm)")
326 call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
2:ndim
+1), transHerm)
327 call disp%show(
"matchol(:,2:ndim+1)")
328 call disp%show( matchol(:,
2:ndim
+1) ,
format = cform )
329 call disp%show(
"transpose(conjg(cholref))")
330 call disp%show(
transpose(
conjg(cholref)) ,
format = cform )
331 call disp%show(
"matchol(:,2:ndim+1) - transpose(conjg(cholref))")
332 call disp%show( matchol(:,
2:ndim
+1)
- transpose(
conjg(cholref)) ,
format = cform )
333 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
334 if (info
/= 0)
error stop 'Cholesky factorization failed.'
340 call runExamples(bdim
= 2_IK)
344 subroutine runExamples(bdim)
345 integer(IK),
optional :: bdim
348 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
349 call disp%show(
"!Cholesky factorization of real positive-definite square matrix update.")
350 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
355 real(TKG),
allocatable :: cholref(:,:), cholmat(:,:)
357 cholmat
= reshape([
real(TKG) ::
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
358 ,
1.0,
2.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
359 ,
1.0,
2.0,
3.0, DUM, DUM, DUM, DUM, DUM, DUM
&
360 ,
1.0,
2.0,
3.0,
4.0, DUM, DUM, DUM, DUM, DUM
&
361 ,
1.0,
2.0,
3.0,
4.0,
5.0, DUM, DUM, DUM, DUM
&
362 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0, DUM, DUM, DUM
&
363 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0, DUM, DUM
&
364 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0, DUM
&
365 ,
1.0,
2.0,
3.0,
4.0,
5.0,
6.0,
7.0,
8.0,
9.0 &
366 ], shape
= [
9,
9], order
= [
2,
1])
367 cholref
= reshape([
real(TKG) ::
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
368 ,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
369 ,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM, DUM
&
370 ,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM, DUM
&
371 ,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM, DUM
&
372 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM, DUM
&
373 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM, DUM
&
374 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0, DUM
&
375 ,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
376 ], shape
= [
9,
9], order
= [
2,
1])
379 call disp%show( cholmat ,
format = gform )
380 call disp%show(
"ndim = 9; roff = 0; coff = 0;")
381 ndim
= 9; roff
= 0; coff
= 0;
382 if (
present(bdim))
then
385 call disp%show(
"call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff, bdim)")
386 call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff, bdim)
388 call disp%show(
"call setMatChol(cholmat, lowDia, info, recursion, ndim, roff, coff)")
389 call setMatChol(cholmat, lowDia, info, recursion, ndim, roff, coff)
392 call disp%show( cholmat ,
format = gform )
394 call disp%show( cholmat
- cholref ,
format = gform )
400 cholmat
= reshape([
real(TKG) :: DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
401 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
402 , DUM,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
403 , DUM, DUM,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0,
2.0 &
404 , DUM, DUM, DUM,
3.0,
3.0,
3.0,
3.0,
3.0,
3.0,
3.0 &
405 , DUM, DUM, DUM, DUM,
4.0,
4.0,
4.0,
4.0,
4.0,
4.0 &
406 , DUM, DUM, DUM, DUM, DUM,
5.0,
5.0,
5.0,
5.0,
5.0 &
407 , DUM, DUM, DUM, DUM, DUM, DUM,
6.0,
6.0,
6.0,
6.0 &
408 , DUM, DUM, DUM, DUM, DUM, DUM, DUM,
7.0,
7.0,
7.0 &
409 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM,
8.0,
8.0 &
410 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM,
9.0 &
411 ], shape
= [
11,
10], order
= [
2,
1])
412 cholref
= reshape([
real(TKG) :: DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
413 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM
&
414 , DUM,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
415 , DUM, DUM,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
416 , DUM, DUM, DUM,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
417 , DUM, DUM, DUM, DUM,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0 &
418 , DUM, DUM, DUM, DUM, DUM,
1.0,
1.0,
1.0,
1.0,
1.0 &
419 , DUM, DUM, DUM, DUM, DUM, DUM,
1.0,
1.0,
1.0,
1.0 &
420 , DUM, DUM, DUM, DUM, DUM, DUM, DUM,
1.0,
1.0,
1.0 &
421 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM,
1.0,
1.0 &
422 , DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM, DUM,
1.0 &
423 ], shape
= [
11,
10], order
= [
2,
1])
426 call disp%show( cholmat ,
format = gform )
427 call disp%show(
"ndim = 9; roff = 2; coff = 1;")
428 ndim
= 9; roff
= 2; coff
= 1;
429 if (
present(bdim))
then
432 call disp%show(
"call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)")
433 call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)
435 call disp%show(
"call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)")
436 call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)
439 call disp%show( cholmat ,
format = gform )
441 call disp%show( cholmat
- cholref ,
format = gform )
449 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
450 call disp%show(
"!Cholesky factorization of complex positive-definite square matrix update.")
451 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
456 complex(CKG),
allocatable :: cholref(:,:), cholmat(:,:)
458 cholmat
= reshape( [
complex(CKG) :: CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM
&
459 , CMPLX_DUMM, CMPLX_DUMM, (
25.0, DUM), CMPLX_DUMM, CMPLX_DUMM
&
460 , CMPLX_DUMM, CMPLX_DUMM, (
-5.0,
5.0), (
51.0, DUM), CMPLX_DUMM
&
461 , CMPLX_DUMM, CMPLX_DUMM, (
10.0,
-5.0), (
4.0,
6.0), (
71.0, DUM)
&
462 ], shape
= [
4,
5], order
= [
2,
1])
463 cholref
= reshape( [
complex(CKG) :: CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM
&
464 , CMPLX_DUMM, CMPLX_DUMM, (
5.0,
0.0), CMPLX_DUMM, CMPLX_DUMM
&
465 , CMPLX_DUMM, CMPLX_DUMM, (
-1.0,
1.0), (
7.0,
0.0), CMPLX_DUMM
&
466 , CMPLX_DUMM, CMPLX_DUMM, (
2.0,
-1.0), (
1.0,
1.0), (
8.0,
0.0)
&
467 ], shape
= [
4,
5], order
= [
2,
1])
470 call disp%show( cholmat ,
format = cform )
471 call disp%show(
"ndim = 3; roff = 1; coff = 2;")
472 ndim
= 3; roff
= 1; coff
= 2;
473 call disp%show(
"call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff)")
474 call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff)
476 call disp%show( cholmat ,
format = cform )
478 call disp%show( cholmat
- cholref ,
format = cform )
479 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
480 if (info
/= 0)
error stop 'Cholesky factorization failed.'
483 cholmat
= reshape( [
complex(CKG) :: CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM
&
484 , (
9.0, DUM), (
3.0,
3.0), (
3.0,
-3.0), CMPLX_DUMM
&
485 , CMPLX_DUMM, (
18.0,DUM), (
8.0,
-6.0), CMPLX_DUMM
&
486 , CMPLX_DUMM, CMPLX_DUMM, (
43.0, DUM), CMPLX_DUMM
&
487 ], shape
= [
4,
4], order
= [
2,
1])
488 cholref
= reshape( [
complex(CKG) :: CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM, CMPLX_DUMM
&
489 , (
3.0,
0.0), (
1.0,
1.0), (
1.0,
-1.0), CMPLX_DUMM
&
490 , CMPLX_DUMM, (
4.0,
0.0), (
2.0,
-1.0), CMPLX_DUMM
&
491 , CMPLX_DUMM, CMPLX_DUMM, (
6.0,
0.0), CMPLX_DUMM
&
492 ], shape
= [
4,
4], order
= [
2,
1])
495 call disp%show( cholmat ,
format = cform )
496 call disp%show(
"ndim = 3; roff = 1; coff = 0;")
497 ndim
= 3; roff
= 1; coff
= 0;
498 if (
present(bdim))
then
501 call disp%show(
"call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)")
502 call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)
504 call disp%show(
"call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)")
505 call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)
508 call disp%show( cholmat ,
format = cform )
510 call disp%show( cholmat
- cholref ,
format = cform )
511 call disp%show(
"if (info /= 0) error stop 'Cholesky factorization failed.'")
512 if (info
/= 0)
error stop 'Cholesky factorization failed.'
Allocate or resize (shrink or expand) an input allocatable scalar string or array of rank 1....
This is a generic method of the derived type display_type with pass attribute.
This is a generic method of the derived type display_type with pass attribute.
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
integer, parameter CKS
The single-precision complex kind in Fortran mode. On most platforms, this is a 32-bit real kind.
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
integer, parameter RKS
The single-precision real kind in Fortran mode. On most platforms, this is an 32-bit real kind.
Generate and return an object of type display_type.
3+1.00000000,
+0.00000000,
+2.00000000
4+0.00000000,
+4.00000000,
+0.00000000
5+2.00000000,
+0.00000000,
+8.00000000
7call setMatChol(mat, uppDia, info, choupp, nothing)
8if (info
/= 0)
error stop
10+1.00000000,
+0.00000000,
+2.00000000
11+0.00000000,
+2.00000000,
+0.00000000
12+0.00000000,
+0.00000000,
+2.00000000
14call setMatChol(mat, uppDia, info, cholow, transHerm)
15if (info
/= 0)
error stop
17+1.00000000,
+0.00000000,
+0.00000000
18+0.00000000,
+2.00000000,
+0.00000000
19+2.00000000,
+0.00000000,
+2.00000000
20matmul(cholow, choupp)
- mat
21+0.00000000,
+0.00000000,
+0.00000000
22+0.00000000,
+0.00000000,
+0.00000000
23+0.00000000,
+0.00000000,
+0.00000000
27(
+9.00000000,
+0.00000000), (
+3.00000000,
+3.00000000), (
+3.00000000,
-3.00000000)
28(
+3.00000000,
-3.00000000), (
+18.0000000,
+0.00000000), (
+8.00000000,
-6.00000000)
29(
+3.00000000,
+3.00000000), (
+8.00000000,
+6.00000000), (
+43.0000000,
+0.00000000)
31call setMatChol(mat, uppDia, info, choupp, nothing)
32if (info
/= 0)
error stop
34(
+3.00000000,
+0.00000000), (
+1.00000000,
+1.00000000), (
+1.00000000,
-1.00000000)
35(
+0.00000000,
+0.00000000), (
+4.00000000,
+0.00000000), (
+2.00000000,
-1.00000000)
36(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+6.00000000,
+0.00000000)
38call setMatChol(mat, uppDia, info, cholow, transHerm)
39if (info
/= 0)
error stop
41(
+3.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
42(
+1.00000000,
-1.00000000), (
+4.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
43(
+1.00000000,
+1.00000000), (
+2.00000000,
+1.00000000), (
+6.00000000,
+0.00000000)
44matmul(cholow, choupp)
- mat
45(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
46(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
47(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
51(
+25.0000000,
+0.00000000), (
-5.00000000,
-5.00000000), (
+10.0000000,
+5.00000000)
52(
-5.00000000,
+5.00000000), (
+51.0000000,
+0.00000000), (
+4.00000000,
-6.00000000)
53(
+10.0000000,
-5.00000000), (
+4.00000000,
+6.00000000), (
+71.0000000,
+0.00000000)
55call setMatChol(mat, uppDia, info, choupp, nothing)
56if (info
/= 0)
error stop
58(
+5.00000000,
+0.00000000), (
-1.00000000,
-1.00000000), (
+2.00000000,
+1.00000000)
59(
+0.00000000,
+0.00000000), (
+7.00000000,
+0.00000000), (
+1.00000000,
-1.00000000)
60(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+8.00000000,
+0.00000000)
62call setMatChol(mat, uppDia, info, cholow, transHerm)
63if (info
/= 0)
error stop
65(
+5.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
66(
-1.00000000,
+1.00000000), (
+7.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
67(
+2.00000000,
-1.00000000), (
+1.00000000,
+1.00000000), (
+8.00000000,
+0.00000000)
68matmul(cholow, choupp)
- mat
69(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
70(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
71(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
75+1.00000000,
+0.00000000,
+2.00000000
76+0.00000000,
+4.00000000,
+0.00000000
77+2.00000000,
+0.00000000,
+8.00000000
79call setMatChol(mat, lowDia, info, cholow, nothing)
80if (info
/= 0)
error stop
82+1.00000000,
+0.00000000,
+0.00000000
83+0.00000000,
+2.00000000,
+0.00000000
84+2.00000000,
+0.00000000,
+2.00000000
87call setMatChol(mat, lowDia, info, choupp, transHerm)
88if (info
/= 0)
error stop
90+1.00000000,
+0.00000000,
+2.00000000
91+0.00000000,
+2.00000000,
+0.00000000
92+0.00000000,
+0.00000000,
+2.00000000
93matmul(cholow, choupp)
- mat
94+0.00000000,
+0.00000000,
+0.00000000
95+0.00000000,
+0.00000000,
+0.00000000
96+0.00000000,
+0.00000000,
+0.00000000
100(
+9.00000000,
+0.00000000), (
+3.00000000,
+3.00000000), (
+3.00000000,
-3.00000000)
101(
+3.00000000,
-3.00000000), (
+18.0000000,
+0.00000000), (
+8.00000000,
-6.00000000)
102(
+3.00000000,
+3.00000000), (
+8.00000000,
+6.00000000), (
+43.0000000,
+0.00000000)
104call setMatChol(mat, lowDia, info, cholow, nothing)
105if (info
/= 0)
error stop
107(
+3.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
108(
+1.00000000,
-1.00000000), (
+4.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
109(
+1.00000000,
+1.00000000), (
+2.00000000,
+1.00000000), (
+6.00000000,
+0.00000000)
112call setMatChol(mat, lowDia, info, choupp, transHerm)
113if (info
/= 0)
error stop
115(
+3.00000000,
+0.00000000), (
+1.00000000,
+1.00000000), (
+1.00000000,
-1.00000000)
116(
+0.00000000,
+0.00000000), (
+4.00000000,
+0.00000000), (
+2.00000000,
-1.00000000)
117(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+6.00000000,
+0.00000000)
118matmul(cholow, choupp)
- mat
119(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
120(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
121(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
125(
+25.0000000,
+0.00000000), (
-5.00000000,
-5.00000000), (
+10.0000000,
+5.00000000)
126(
-5.00000000,
+5.00000000), (
+51.0000000,
+0.00000000), (
+4.00000000,
-6.00000000)
127(
+10.0000000,
-5.00000000), (
+4.00000000,
+6.00000000), (
+71.0000000,
+0.00000000)
129call setMatChol(mat, lowDia, info, cholow, nothing)
130if (info
/= 0)
error stop
132(
+5.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
133(
-1.00000000,
+1.00000000), (
+7.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
134(
+2.00000000,
-1.00000000), (
+1.00000000,
+1.00000000), (
+8.00000000,
+0.00000000)
137call setMatChol(mat, lowDia, info, choupp, transHerm)
138if (info
/= 0)
error stop
140(
+5.00000000,
+0.00000000), (
-1.00000000,
-1.00000000), (
+2.00000000,
+1.00000000)
141(
+0.00000000,
+0.00000000), (
+7.00000000,
+0.00000000), (
+1.00000000,
-1.00000000)
142(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+8.00000000,
+0.00000000)
143matmul(cholow, choupp)
- mat
144(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
145(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
146(
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000), (
+0.00000000,
+0.00000000)
155 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
156 +1.000000,
+2.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
157 +1.000000,
+2.000000,
+3.000000,
***************,
***************,
***************,
***************,
***************,
***************
158 +1.000000,
+2.000000,
+3.000000,
+4.000000,
***************,
***************,
***************,
***************,
***************
159 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
***************,
***************,
***************,
***************
160 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
***************,
***************,
***************
161 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
***************,
***************
162 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
***************
163 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000
164matchol(:,
1:ndim)
= mat
166 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
167 +1.000000,
+2.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
168 +1.000000,
+2.000000,
+3.000000,
***************,
***************,
***************,
***************,
***************,
***************
169 +1.000000,
+2.000000,
+3.000000,
+4.000000,
***************,
***************,
***************,
***************,
***************
170 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
***************,
***************,
***************,
***************
171 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
***************,
***************,
***************
172 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
***************,
***************
173 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
***************
174 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000
175call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
1:ndim), nothing)
177 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
178 +1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
179 +1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************
180 +1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************
181 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************
182 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************
183 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************
184 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************
185 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
186matchol(:,
1:ndim)
- cholref
187 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
188 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
189 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
190 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
191 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
192 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
193 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
194 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
195 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
196if (info
/= 0)
error stop 'Cholesky factorization failed.'
198matchol(:,
1:ndim)
= mat
200 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
201 +1.000000,
+2.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
202 +1.000000,
+2.000000,
+3.000000,
***************,
***************,
***************,
***************,
***************,
***************
203 +1.000000,
+2.000000,
+3.000000,
+4.000000,
***************,
***************,
***************,
***************,
***************
204 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
***************,
***************,
***************,
***************
205 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
***************,
***************,
***************
206 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
***************,
***************
207 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
***************
208 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000
209call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
2:ndim
+1), transHerm)
211 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
212 +2.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
213 +2.000000,
+3.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
214 +2.000000,
+3.000000,
+4.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
215 +2.000000,
+3.000000,
+4.000000,
+5.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
216 +2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
217 +2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+1.000000,
+1.000000,
+1.000000
218 +2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+1.000000,
+1.000000
219 +2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000,
+1.000000
220matchol(:,
2:ndim
+1)
- transpose(cholref)
221 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
222***************,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
223***************,
***************,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
224***************,
***************,
***************,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
225***************,
***************,
***************,
***************,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
226***************,
***************,
***************,
***************,
***************,
+0.000000,
+0.000000,
+0.000000,
+0.000000
227***************,
***************,
***************,
***************,
***************,
***************,
+0.000000,
+0.000000,
+0.000000
228***************,
***************,
***************,
***************,
***************,
***************,
***************,
+0.000000,
+0.000000
229***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+0.000000
230if (info
/= 0)
error stop 'Cholesky factorization failed.'
234(
+25.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
235(
-5.000000,
+5.000000), (
+51.000000,
+0.000000), (
***************,
***************)
236(
+10.000000,
-5.000000), (
+4.000000,
+6.000000), (
+71.000000,
+0.000000)
237matchol(:,
1:ndim)
= mat
239(
+25.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
240(
-5.000000,
+5.000000), (
+51.000000,
+0.000000), (
***************,
***************)
241(
+10.000000,
-5.000000), (
+4.000000,
+6.000000), (
+71.000000,
+0.000000)
242call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
1:ndim), nothing)
244(
+5.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
245(
-1.000000,
+1.000000), (
+7.000000,
+0.000000), (
***************,
***************)
246(
+2.000000,
-1.000000), (
+1.000000,
+1.000000), (
+8.000000,
+0.000000)
248(
+5.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
249(
-1.000000,
+1.000000), (
+7.000000,
+0.000000), (
***************,
***************)
250(
+2.000000,
-1.000000), (
+1.000000,
+1.000000), (
+8.000000,
+0.000000)
251matchol(:,
1:ndim)
- cholref
252(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
253(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
254(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
255if (info
/= 0)
error stop 'Cholesky factorization failed.'
257matchol(:,
1:ndim)
= mat
259(
+25.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
260(
-5.000000,
+5.000000), (
+51.000000,
+0.000000), (
***************,
***************)
261(
+10.000000,
-5.000000), (
+4.000000,
+6.000000), (
+71.000000,
+0.000000)
262call setMatChol(matchol(:,
1:ndim), lowDia, info, matchol(:,
2:ndim
+1), transHerm)
264(
+5.000000,
+0.000000), (
-1.000000,
-1.000000), (
+2.000000,
+1.000000)
265(
+51.000000,
+0.000000), (
+7.000000,
+0.000000), (
+1.000000,
-1.000000)
266(
+4.000000,
+6.000000), (
+71.000000,
+0.000000), (
+8.000000,
+0.000000)
267transpose(
conjg(cholref))
268(
+5.000000,
-0.000000), (
-1.000000,
-1.000000), (
+2.000000,
+1.000000)
269(
***************,
***************), (
+7.000000,
-0.000000), (
+1.000000,
-1.000000)
270(
***************,
***************), (
***************,
***************), (
+8.000000,
-0.000000)
271matchol(:,
2:ndim
+1)
- transpose(
conjg(cholref))
272(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
273(
***************,
***************), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
274(
***************,
***************), (
***************,
***************), (
+0.000000,
+0.000000)
275if (info
/= 0)
error stop 'Cholesky factorization failed.'
284 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
285 +1.000000,
+2.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
286 +1.000000,
+2.000000,
+3.000000,
***************,
***************,
***************,
***************,
***************,
***************
287 +1.000000,
+2.000000,
+3.000000,
+4.000000,
***************,
***************,
***************,
***************,
***************
288 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
***************,
***************,
***************,
***************
289 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
***************,
***************,
***************
290 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
***************,
***************
291 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
***************
292 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000
293ndim
= 9; roff
= 0; coff
= 0;
294call setMatChol(cholmat, lowDia, info, recursion, ndim, roff, coff)
296 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
297 +1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
298 +1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************
299 +1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************
300 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************
301 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************
302 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************
303 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************
304 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
306 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
307 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
308 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
309 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
310 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
311 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
312 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
313 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
314 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
320***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
321***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
322***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
323***************,
***************,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000
324***************,
***************,
***************,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000
325***************,
***************,
***************,
***************,
+4.000000,
+4.000000,
+4.000000,
+4.000000,
+4.000000,
+4.000000
326***************,
***************,
***************,
***************,
***************,
+5.000000,
+5.000000,
+5.000000,
+5.000000,
+5.000000
327***************,
***************,
***************,
***************,
***************,
***************,
+6.000000,
+6.000000,
+6.000000,
+6.000000
328***************,
***************,
***************,
***************,
***************,
***************,
***************,
+7.000000,
+7.000000,
+7.000000
329***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+8.000000,
+8.000000
330***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+9.000000
331ndim
= 9; roff
= 2; coff
= 1;
332call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)
334***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
335***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
336***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
337***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
338***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
339***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
340***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
341***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000
342***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000
343***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000
344***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000
346 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
347 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
348 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
349 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
350 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
351 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
352 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
353 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
354 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
355 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
356 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
367(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
368(
***************,
***************), (
***************,
***************), (
+25.000000,
***************), (
***************,
***************), (
***************,
***************)
369(
***************,
***************), (
***************,
***************), (
-5.000000,
+5.000000), (
+51.000000,
***************), (
***************,
***************)
370(
***************,
***************), (
***************,
***************), (
+10.000000,
-5.000000), (
+4.000000,
+6.000000), (
+71.000000,
***************)
371ndim
= 3; roff
= 1; coff
= 2;
372call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff)
374(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
375(
***************,
***************), (
***************,
***************), (
+5.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
376(
***************,
***************), (
***************,
***************), (
-1.000000,
+1.000000), (
+7.000000,
+0.000000), (
***************,
***************)
377(
***************,
***************), (
***************,
***************), (
+2.000000,
-1.000000), (
+1.000000,
+1.000000), (
+8.000000,
+0.000000)
379(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
380(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
381(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
382(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
383if (info
/= 0)
error stop 'Cholesky factorization failed.'
387(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
388(
+9.000000,
***************), (
+3.000000,
+3.000000), (
+3.000000,
-3.000000), (
***************,
***************)
389(
***************,
***************), (
+18.000000,
***************), (
+8.000000,
-6.000000), (
***************,
***************)
390(
***************,
***************), (
***************,
***************), (
+43.000000,
***************), (
***************,
***************)
391ndim
= 3; roff
= 1; coff
= 0;
392call setMatChol(cholmat, uppDia, info, recursion, ndim, roff, coff)
394(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
395(
+3.000000,
+0.000000), (
+1.000000,
+1.000000), (
+1.000000,
-1.000000), (
***************,
***************)
396(
***************,
***************), (
+4.000000,
+0.000000), (
+2.000000,
-1.000000), (
***************,
***************)
397(
***************,
***************), (
***************,
***************), (
+6.000000,
+0.000000), (
***************,
***************)
399(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
400(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
401(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
402(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
403if (info
/= 0)
error stop 'Cholesky factorization failed.'
412 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
413 +1.000000,
+2.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
414 +1.000000,
+2.000000,
+3.000000,
***************,
***************,
***************,
***************,
***************,
***************
415 +1.000000,
+2.000000,
+3.000000,
+4.000000,
***************,
***************,
***************,
***************,
***************
416 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
***************,
***************,
***************,
***************
417 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
***************,
***************,
***************
418 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
***************,
***************
419 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
***************
420 +1.000000,
+2.000000,
+3.000000,
+4.000000,
+5.000000,
+6.000000,
+7.000000,
+8.000000,
+9.000000
421ndim
= 9; roff
= 0; coff
= 0;
424call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff, bdim)
426 +1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
427 +1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************,
***************
428 +1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************,
***************
429 +1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************,
***************
430 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************,
***************
431 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************,
***************
432 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************,
***************
433 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
***************
434 +1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
436 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
437 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
438 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
439 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
440 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
441 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
442 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
443 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
444 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
450***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
451***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
452***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
453***************,
***************,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000,
+2.000000
454***************,
***************,
***************,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000,
+3.000000
455***************,
***************,
***************,
***************,
+4.000000,
+4.000000,
+4.000000,
+4.000000,
+4.000000,
+4.000000
456***************,
***************,
***************,
***************,
***************,
+5.000000,
+5.000000,
+5.000000,
+5.000000,
+5.000000
457***************,
***************,
***************,
***************,
***************,
***************,
+6.000000,
+6.000000,
+6.000000,
+6.000000
458***************,
***************,
***************,
***************,
***************,
***************,
***************,
+7.000000,
+7.000000,
+7.000000
459***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+8.000000,
+8.000000
460***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+9.000000
461ndim
= 9; roff
= 2; coff
= 1;
464call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)
466***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
467***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************
468***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
469***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
470***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
471***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
472***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000,
+1.000000
473***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000,
+1.000000
474***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000,
+1.000000
475***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000,
+1.000000
476***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
***************,
+1.000000
478 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
479 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
480 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
481 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
482 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
483 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
484 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
485 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
486 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
487 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
488 +0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000,
+0.000000
499(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
500(
***************,
***************), (
***************,
***************), (
+25.000000,
***************), (
***************,
***************), (
***************,
***************)
501(
***************,
***************), (
***************,
***************), (
-5.000000,
+5.000000), (
+51.000000,
***************), (
***************,
***************)
502(
***************,
***************), (
***************,
***************), (
+10.000000,
-5.000000), (
+4.000000,
+6.000000), (
+71.000000,
***************)
503ndim
= 3; roff
= 1; coff
= 2;
504call setMatChol(cholmat, lowDia, info, iteration, ndim, roff, coff)
506(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
507(
***************,
***************), (
***************,
***************), (
+5.000000,
+0.000000), (
***************,
***************), (
***************,
***************)
508(
***************,
***************), (
***************,
***************), (
-1.000000,
+1.000000), (
+7.000000,
+0.000000), (
***************,
***************)
509(
***************,
***************), (
***************,
***************), (
+2.000000,
-1.000000), (
+1.000000,
+1.000000), (
+8.000000,
+0.000000)
511(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
512(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
513(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
514(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
515if (info
/= 0)
error stop 'Cholesky factorization failed.'
519(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
520(
+9.000000,
***************), (
+3.000000,
+3.000000), (
+3.000000,
-3.000000), (
***************,
***************)
521(
***************,
***************), (
+18.000000,
***************), (
+8.000000,
-6.000000), (
***************,
***************)
522(
***************,
***************), (
***************,
***************), (
+43.000000,
***************), (
***************,
***************)
523ndim
= 3; roff
= 1; coff
= 0;
526call setMatChol(cholmat, uppDia, info, iteration, ndim, roff, coff, bdim)
528(
***************,
***************), (
***************,
***************), (
***************,
***************), (
***************,
***************)
529(
+3.000000,
+0.000000), (
+1.000000,
+1.000000), (
+1.000000,
-1.000000), (
***************,
***************)
530(
***************,
***************), (
+4.000000,
+0.000000), (
+2.000000,
-1.000000), (
***************,
***************)
531(
***************,
***************), (
***************,
***************), (
+6.000000,
+0.000000), (
***************,
***************)
533(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
534(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
535(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
536(
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000), (
+0.000000,
+0.000000)
537if (info
/= 0)
error stop 'Cholesky factorization failed.'