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

Set the upper/lower triangle and the diagonal elements of the input matrix of arbitrary shape (:,:) to the requested input values.
More...

Detailed Description

Set the upper/lower triangle and the diagonal elements of the input matrix of arbitrary shape (:,:) to the requested input values.

See the documentation of pm_matrixInit for illustrations of possible initialization formats.

Parameters
[in,out]mat: The input/output contiguous matrix of arbitrary shape (:, :) of,
  1. type character of kind any supported by the processor (e.g., SK, SKA, SKD , or SKU) with arbitrary len type parameter, or
  2. type integer of kind any supported by the processor (e.g., IK, IK8, IK16, IK32, or IK64), or
  3. type logical of kind any supported by the processor (e.g., LK), or
  4. type complex of kind any supported by the processor (e.g., CK, CK32, CK64, or CK128), or
  5. type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128).
On output, the upper/lower triangle and diagonal elements of mat (as specified by the input argument subset) are set to the corresponding input values.
All other matrix elements remain intact on output.
[in]subset: The input argument that can be either,
  1. the constant upp, signifying the initialization of the upper-triangle elements of the requested subset of the matrix.
  2. the constant low, signifying the initialization of the lower-triangle elements of the requested subset of the matrix.
  3. the constant dia, signifying the initialization of the diagonal elements of the requested subset of the matrix.
  4. the constant lowDia, signifying the initialization of the lower-triangle and diagonal elements of the requested subset of the matrix.
  5. the constant uppDia, signifying the initialization of the upper-triangle and diagonal elements of the requested subset of the matrix.
  6. the constant uppLow, signifying the initialization of the upper/lower-triangle elements of the requested subset of the matrix.
  7. the constant uppLowDia, signifying the initialization of the upper/lower-triangle and diagonal elements of the requested subset of the matrix.
This input argument is merely serves to resolve the different procedures of this generic interface from each other at compile-time.
Note that setting only the lower/upper triangles of a matrix can be readily converted to the problem of setting the upper/lower triangle and diagonal elements of a matrix.
[in]vupp: The input scalar of the same type and kind as mat,
containing the value for all upper-triangular elements of the output matrix.
(optional, It must be present if and only if the input argument subset specifies an update to the upper-triangle elements.)
[in]vlow: The input scalar of the same type and kind as mat,
containing the value for all lower-triangular elements of the output matrix.
(optional, It must be present if and only if the input argument subset specifies an update to the lower-triangle elements.)
[in]vdia: The input scalar or contiguous array of rank 1 of the same type and kind as mat containing the diagonal elements of the output matrix.
(optional, It must be present if and only if the input argument subset specifies an update to the diagonal elements.)
[in]nrow: The input non-negative integer of default kind IK representing the number of rows of the initialized block of the matrix.
Setting nrow = size(mat,1), roff = 0 is equivalent to initializing all rows of the matrix.
(optional, default = size(mat, 1). It must be present if and only if any of the input arguments ncol, roff, or coff are also present.)
[in]ncol: The input non-negative integer of default kind IK representing the number of columns of the initialized block of the matrix.
Setting ncol = size(mat,2), roff = 0 is equivalent to initializing all columns of the matrix.
(optional, default = size(mat, 2). It must be present if and only if any of the input arguments nrow, roff, or coff are also present.)
[in]ndia: The input non-negative integer of default kind IK representing the number of diagonal elements to write to the initialized block of the matrix.
It can be present only if the input argument subset is set to dia and the input argument vdia is a scalar.
If vdia is a vector of rank 1, then ndia is automatically set to the size of the input vector vdia.
(optional. default = minval(shape(mat) - [roff, coff]) if vdia is a scalar, otherwise, size(vdia(:)).)
[in]roff: The input non-negative integer of default kind IK representing the offset of the top-left corner of the initialization block from the first row of the matrix.
The initialization of the matrix will start at row 1 + roff.
(optional, default = 0. It must be present if and only if any of the input arguments nrow, ncol, ndia, or coff are also present.)
[in]coff: The input non-negative integer of default kind IK representing the offset of the top-left corner of the initialization block from the first column of the matrix.
The initialization of the matrix will start at column 1 + coff.
(optional, default = 0. It must be present if and only if any of the input arguments nrow, ncol, ndia, or roff are also present.)
[in]doff: The input integer of default kind IK representing the offset of the diagonal of the initialization block from the top-left corner of the initialization block.
  • Setting doff > 0 implies a diagonal start with column offset doff from the top-left corner of the initialization block.
  • Setting doff < 0 implies a diagonal start with row offset -doff from the top-left corner of the initialization block.
  • Setting doff = 0 implies the same diagonal start as the top-left corner of the initialization block.
(optional, default = 0. It can be present only if the input arguments vupp or vlow are present.)


Possible calling interfaces

use pm_matrixInit, only: setMatInit, dia, uppDia, lowDia, uppLow, uppLowDia
! implicit interface
call setMatInit(mat(:,:), subset, vupp, doff = doff) ! Initialize upper-triangular subset of matrix.
call setMatInit(mat(:,:), subset, vlow, doff = doff) ! Initialize lower-triangular subset of matrix.
call setMatInit(mat(:,:), subset, vdia , ndia) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vdia ) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vdia(:) ) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vlow, vdia , doff = doff) ! Initialize lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vlow, vdia(:), doff = doff) ! Initialize lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vdia , doff = doff) ! Initialize upper-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vdia(:), doff = doff) ! Initialize upper-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, doff = doff) ! Initialize upper-lower subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, doff = doff) ! Initialize upper-lower subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, vdia , doff = doff) ! Initialize upper-lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, vdia(:), doff = doff) ! Initialize upper-lower-diagonal subset of matrix.
! explicit interface
call setMatInit(mat(:,:), subset, vdia , ndia , roff, coff) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vdia , roff, coff) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vdia(:) , roff, coff) ! Initialize diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, nrow, ncol, roff, coff, doff = doff) ! Initialize upper-triangular subset of matrix.
call setMatInit(mat(:,:), subset, vlow, nrow, ncol, roff, coff, doff = doff) ! Initialize lower-triangular subset of matrix.
call setMatInit(mat(:,:), subset, vlow, vdia , nrow, ncol, roff, coff, doff = doff) ! Initialize lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vlow, vdia(:), nrow, ncol, roff, coff, doff = doff) ! Initialize lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vdia , nrow, ncol, roff, coff, doff = doff) ! Initialize upper-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vdia(:), nrow, ncol, roff, coff, doff = doff) ! Initialize upper-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, nrow, ncol, roff, coff, doff = doff) ! Initialize upper-lower subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, nrow, ncol, roff, coff, doff = doff) ! Initialize upper-lower subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, vdia , nrow, ncol, roff, coff, doff = doff) ! Initialize upper-lower-diagonal subset of matrix.
call setMatInit(mat(:,:), subset, vupp, vlow, vdia(:), nrow, ncol, roff, coff, doff = doff) ! Initialize upper-lower-diagonal subset of matrix.
!
Set the upper/lower triangle and the diagonal elements of the input matrix of arbitrary shape (:,...
This module contains procedures and generic interfaces relevant to generating and initializing matric...
Warning
The condition ndia >= 0 must hold for the corresponding input arguments.
The condition nrow >= 0 must hold for the corresponding input arguments.
The condition ncol >= 0 must hold for the corresponding input arguments.
The condition roff >= 0 must hold for the corresponding input arguments.
The condition coff >= 0 must hold for the corresponding input arguments.
The condition nrow + roff <= size(mat, 1) must hold for the corresponding input arguments.
The condition ncol + coff <= size(mat, 2) must hold for the corresponding input arguments.
The condition -nrow < doff .and. doff < ncol must hold for the corresponding input arguments.
The condition ndia <= min(size(mat, 1) - roff, size(mat, 2) - coff) must hold for the corresponding input arguments.
The condition size(vdia(:)) == merge(min(nrow + doff, ncol), min(nrow, ncol - doff), doff < 0) must hold for the corresponding input arguments.
The condition len(vupp) <= len(mat) must hold for the corresponding arguments of type character of any kinds.
The condition len(vlow) <= len(mat) must hold for the corresponding arguments of type character of any kinds.
The condition len(vdia) <= len(mat) must hold for the corresponding arguments of type character of any kinds.
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.
BLAS/LAPACK equivalent:
The procedures under discussion combine, modernize, and extend the interface and functionalities of Version 3.11 of BLAS/LAPACK routine(s): SLASET, DLASET, CLASET, ZLASET.
See also
getMatInit
pm_arrayInit
pm_matrixCopy
pm_arrayCopy
pm_arrayCopy


Example usage

1program example
2
3 use pm_kind, only: SK, IK, LK, CK, RK
6 use pm_io, only: display_type
7 use pm_arrayRange, only: getRange
8
9 implicit none
10
11 type(display_type) :: disp
12 disp = display_type(file = "main.out.F90")
13
14 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
16 call disp%skip()
17 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
18 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
19 call disp%show("! Initialize diagonal matrices.")
20 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
21 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
22 call disp%skip()
23
24 call disp%skip()
25 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
26 call disp%show("! Construct diagonal string matrix.")
27 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
28 call disp%skip()
29
30 block
31
32 character(2) :: mat(10,10)
33
34 call disp%skip()
35 call disp%show("mat = '' ! preset the matrix for better illustration.")
36 mat = ''
37 call disp%show("call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1))")
38 call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1))
39 call disp%show("mat")
40 call disp%show( mat , deliml = SK_"""" )
41 call disp%skip()
42
43 call disp%skip()
44 call disp%show("mat = '' ! preset the matrix for better illustration.")
45 mat = ''
46 call disp%show("call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)")
47 call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
48 call disp%show("mat")
49 call disp%show( mat , deliml = SK_"""" )
50 call disp%skip()
51
52 call disp%skip()
53 call disp%show("mat = '' ! preset the matrix for better illustration.")
54 mat = ''
55 call disp%show("call setMatInit(mat, dia, vdia = 'OO', ndia = 5_IK, roff = 3_IK, coff = 0_IK)")
56 call setMatInit(mat, dia, vdia = 'OO', ndia = 5_IK, roff = 3_IK, coff = 0_IK)
57 call disp%show("mat")
58 call disp%show( mat , deliml = SK_"""" )
59 call disp%skip()
60
61 call disp%skip()
62 call disp%show("mat = '' ! preset the matrix for better illustration.")
63 mat = ''
64 call disp%show("call setMatInit(mat, dia, vdia = ['OO', 'YY', 'WW', 'XX'], roff = 3_IK, coff = 2_IK)")
65 call setMatInit(mat, dia, vdia = ['OO', 'YY', 'WW', 'XX'], roff = 3_IK, coff = 2_IK)
66 call disp%show("mat")
67 call disp%show( mat , deliml = SK_"""" )
68 call disp%skip()
69
70 end block
71
72 call disp%skip()
73 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
74 call disp%show("! Construct diagonal integer matrix.")
75 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
76 call disp%skip()
77
78 block
79
80 integer :: mat(10,10)
81
82 call disp%skip()
83 call disp%show("mat = 0 ! preset the matrix for better illustration.")
84 mat = 0
85 call disp%show("call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1))")
86 call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1))
87 call disp%show("mat")
88 call disp%show( mat )
89 call disp%skip()
90
91 call disp%skip()
92 call disp%show("mat = 0 ! preset the matrix for better illustration.")
93 mat = 0
94 call disp%show("call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)")
95 call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
96 call disp%show("mat")
97 call disp%show( mat )
98 call disp%skip()
99
100 call disp%skip()
101 call disp%show("mat = 0 ! preset the matrix for better illustration.")
102 mat = 0
103 call disp%show("call setMatInit(mat, dia, vdia = getRange(1, 7), roff = 3_IK, coff = 3_IK)")
104 call setMatInit(mat, dia, vdia = getRange(1, 7), roff = 3_IK, coff = 3_IK)
105 call disp%show("mat")
106 call disp%show( mat )
107 call disp%skip()
108
109 end block
110
111 call disp%skip()
112 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
113 call disp%show("! Construct diagonal logical matrix.")
114 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
115 call disp%skip()
116
117 block
118
119 logical :: mat(10,10)
120
121 call disp%skip()
122 call disp%show("mat = .false. ! preset the matrix for better illustration.")
123 mat = .false.
124 call disp%show("call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1))")
125 call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1))
126 call disp%show("mat")
127 call disp%show( mat )
128 call disp%skip()
129
130 call disp%skip()
131 call disp%show("mat = .false. ! preset the matrix for better illustration.")
132 mat = .false.
133 call disp%show("call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)")
134 call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
135 call disp%show("mat")
136 call disp%show( mat )
137 call disp%skip()
138
139 call disp%skip()
140 call disp%show("mat = .false. ! preset the matrix for better illustration.")
141 mat = .false.
142 call disp%show("call setMatInit(mat, dia, vdia = [.true., .false., .true., .false.], roff = 3_IK, coff = 3_IK)")
143 call setMatInit(mat, dia, vdia = [.true., .false., .true., .false.], roff = 3_IK, coff = 3_IK)
144 call disp%show("mat")
145 call disp%show( mat )
146 call disp%skip()
147
148 end block
149
150 call disp%skip()
151 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
152 call disp%show("! Construct diagonal real matrix.")
153 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
154 call disp%skip()
155
156 block
157
158 real :: mat(10,10)
159
160 call disp%skip()
161 call disp%show("mat = 0. ! preset the matrix for better illustration.")
162 mat = 0.
163 call disp%show("call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK))")
164 call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK))
165 call disp%show("mat")
166 call disp%show( mat )
167 call disp%skip()
168
169 call disp%skip()
170 call disp%show("mat = 0. ! preset the matrix for better illustration.")
171 mat = 0.
172 call disp%show("call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK), roff = 0_IK, coff = 0_IK)")
173 call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK), roff = 0_IK, coff = 0_IK)
174 call disp%show("mat")
175 call disp%show( mat )
176 call disp%skip()
177
178 call disp%skip()
179 call disp%show("mat = 0. ! preset the matrix for better illustration.")
180 mat = 0.
181 call disp%show("call setMatInit(mat, dia, vdia = -4., ndia = 7_IK, roff = 0_IK, coff = 3_IK)")
182 call setMatInit(mat, dia, vdia = -4., ndia = 7_IK, roff = 0_IK, coff = 3_IK)
183 call disp%show("mat")
184 call disp%show( mat )
185 call disp%skip()
186
187 end block
188
189 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
190
191 call disp%skip()
192 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
193 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
194 call disp%show("! Initialize upper-diagonal matrices.")
195 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
196 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
197 call disp%skip()
198
199 call disp%skip()
200 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
201 call disp%show("! Construct upper-diagonal string matrix.")
202 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
203 call disp%skip()
204
205 block
206
207 character(2) :: mat(10,10)
208
209 mat = ""
210 call disp%skip()
211 call disp%show("call setMatInit(mat, uppDia, vupp = 'AA', vdia = 'ZZ', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)")
212 call setMatInit(mat, uppDia, vupp = 'AA', vdia = 'ZZ', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
213 call disp%show("mat")
214 call disp%show( mat , deliml = SK_"""" )
215 call disp%skip()
216
217 mat = ""
218 call disp%skip()
219 call disp%show("call setMatInit(mat, uppDia, vupp = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)")
220 call setMatInit(mat, uppDia, vupp = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
221 call disp%show("mat")
222 call disp%show( mat , deliml = SK_"""" )
223 call disp%skip()
224
225 mat = ""
226 call disp%skip()
227 call disp%show("call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK)")
228 call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK)
229 call disp%show("mat")
230 call disp%show( mat , deliml = SK_"""" )
231 call disp%skip()
232
233 mat = ""
234 call disp%skip()
235 call disp%show("call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 1_IK, coff = 3_IK, doff = -1_IK)")
236 call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 1_IK, coff = 3_IK, doff = -1_IK)
237 call disp%show("mat")
238 call disp%show( mat , deliml = SK_"""" )
239 call disp%skip()
240
241 mat = ""
242 call disp%skip()
243 call disp%show("call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = -4_IK)")
244 call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = -4_IK)
245 call disp%show("mat")
246 call disp%show( mat , deliml = SK_"""" )
247 call disp%skip()
248
249 end block
250
251 call disp%skip()
252 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
253 call disp%show("! Construct upper-diagonal integer matrix.")
254 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
255 call disp%skip()
256
257 block
258
259 integer :: mat(10,10)
260
261 mat = 0
262 call disp%skip()
263 call disp%show("call setMatInit(mat, uppDia, vupp = -3, vdia = -4, nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)")
264 call setMatInit(mat, uppDia, vupp = -3, vdia = -4, nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)
265 call disp%show("mat")
266 call disp%show( mat )
267 call disp%skip()
268
269 end block
270
271 call disp%skip()
272 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
273 call disp%show("! Construct upper-diagonal logical matrix.")
274 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
275 call disp%skip()
276
277 block
278
279 logical :: mat(10,10)
280
281 mat = .false.
282 call disp%skip()
283 call disp%show("call setMatInit(mat, uppDia, vupp = .true., vdia = .true., nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)")
284 call setMatInit(mat, uppDia, vupp = .true., vdia = .true., nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)
285 call disp%show("mat")
286 call disp%show( mat )
287 call disp%skip()
288
289 end block
290
291 call disp%skip()
292 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
293 call disp%show("! Construct upper-diagonal real matrix.")
294 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
295 call disp%skip()
296
297 block
298
299 real :: mat(10,10)
300
301 mat = 0
302 call disp%skip()
303 call disp%show("call setMatInit(mat, uppDia, vupp = -3., vdia = -4., nrow = 3_IK, ncol = 7_IK, roff = 0_IK, coff = 3_IK)")
304 call setMatInit(mat, uppDia, vupp = -3., vdia = -4., nrow = 3_IK, ncol = 7_IK, roff = 0_IK, coff = 3_IK)
305 call disp%show("mat")
306 call disp%show( mat )
307 call disp%skip()
308
309 end block
310
311 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312
313 call disp%skip()
314 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
315 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
316 call disp%show("! Initialize lower-diagonal matrices.")
317 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
318 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
319 call disp%skip()
320
321 call disp%skip()
322 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
323 call disp%show("! Construct lower-diagonal string matrix.")
324 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
325 call disp%skip()
326
327 block
328
329 character(2) :: mat(10,10)
330
331 mat = ""
332 call disp%skip()
333 call disp%show("call setMatInit(mat, lowDia, vlow = 'AA', vdia = 'ZZ', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
334 call setMatInit(mat, lowDia, vlow = 'AA', vdia = 'ZZ', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
335 call disp%show("mat")
336 call disp%show( mat , deliml = SK_"""" )
337 call disp%skip()
338
339 mat = ""
340 call disp%skip()
341 call disp%show("call setMatInit(mat, lowDia, vlow = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
342 call setMatInit(mat, lowDia, vlow = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
343 call disp%show("mat")
344 call disp%show( mat , deliml = SK_"""" )
345 call disp%skip()
346
347 mat = ""
348 call disp%skip()
349 call disp%show("call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)")
350 call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
351 call disp%show("mat")
352 call disp%show( mat , deliml = SK_"""" )
353 call disp%skip()
354
355 mat = ""
356 call disp%skip()
357 call disp%show("call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)")
358 call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
359 call disp%show("mat")
360 call disp%show( mat , deliml = SK_"""" )
361 call disp%skip()
362
363 mat = ""
364 call disp%skip()
365 call disp%show("call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)")
366 call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
367 call disp%show("mat")
368 call disp%show( mat , deliml = SK_"""" )
369 call disp%skip()
370
371 end block
372
373 call disp%skip()
374 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
375 call disp%show("! Construct lower-diagonal integer matrix.")
376 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
377 call disp%skip()
378
379 block
380
381 integer :: mat(10,10)
382
383 mat = 0
384 call disp%skip()
385 call disp%show("call setMatInit(mat, lowDia, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
386 call setMatInit(mat, lowDia, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
387 call disp%show("mat")
388 call disp%show( mat )
389 call disp%skip()
390
391 end block
392
393 call disp%skip()
394 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
395 call disp%show("! Construct lower-diagonal logical matrix.")
396 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
397 call disp%skip()
398
399 block
400
401 logical :: mat(10,10)
402
403 mat = .false.
404 call disp%skip()
405 call disp%show("call setMatInit(mat, lowDia, vlow = .true., vdia = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
406 call setMatInit(mat, lowDia, vlow = .true., vdia = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
407 call disp%show("mat")
408 call disp%show( mat )
409 call disp%skip()
410
411 end block
412
413 call disp%skip()
414 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
415 call disp%show("! Construct lower-diagonal real matrix.")
416 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
417 call disp%skip()
418
419 block
420
421 real :: mat(10,10)
422
423 mat = 0
424 call disp%skip()
425 call disp%show("call setMatInit(mat, lowDia, vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)")
426 call setMatInit(mat, lowDia, vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
427 call disp%show("mat")
428 call disp%show( mat )
429 call disp%skip()
430
431 end block
432
433 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
434
435 call disp%skip()
436 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
437 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
438 call disp%show("! Initialize upper-lower matrices.")
439 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
440 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
441 call disp%skip()
442
443 call disp%skip()
444 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
445 call disp%show("! Construct lower-diagonal string matrix.")
446 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
447 call disp%skip()
448
449 block
450
451 character(2) :: mat(10,10)
452
453 mat = ""
454 call disp%skip()
455 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
456 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
457 call disp%show("mat")
458 call disp%show( mat , deliml = SK_"""" )
459 call disp%skip()
460
461 mat = ""
462 call disp%skip()
463 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
464 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
465 call disp%show("mat")
466 call disp%show( mat , deliml = SK_"""" )
467 call disp%skip()
468
469 mat = ""
470 call disp%skip()
471 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)")
472 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
473 call disp%show("mat")
474 call disp%show( mat , deliml = SK_"""" )
475 call disp%skip()
476
477 mat = ""
478 call disp%skip()
479 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)")
480 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)
481 call disp%show("mat")
482 call disp%show( mat , deliml = SK_"""" )
483 call disp%skip()
484
485 mat = ""
486 call disp%skip()
487 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)")
488 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
489 call disp%show("mat")
490 call disp%show( mat , deliml = SK_"""" )
491 call disp%skip()
492
493 mat = ""
494 call disp%skip()
495 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)")
496 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
497 call disp%show("mat")
498 call disp%show( mat , deliml = SK_"""" )
499 call disp%skip()
500
501 mat = ""
502 call disp%skip()
503 call disp%show("call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)")
504 call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
505 call disp%show("mat")
506 call disp%show( mat , deliml = SK_"""" )
507 call disp%skip()
508
509 end block
510
511 call disp%skip()
512 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
513 call disp%show("! Construct lower-diagonal integer matrix.")
514 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
515 call disp%skip()
516
517 block
518
519 integer :: mat(10,10)
520
521 mat = 0
522 call disp%skip()
523 call disp%show("call setMatInit(mat, uppLow, vupp = +1, vlow = -3, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
524 call setMatInit(mat, uppLow, vupp = +1, vlow = -3, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
525 call disp%show("mat")
526 call disp%show( mat )
527 call disp%skip()
528
529 end block
530
531 call disp%skip()
532 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
533 call disp%show("! Construct lower-diagonal logical matrix.")
534 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
535 call disp%skip()
536
537 block
538
539 logical :: mat(10,10)
540
541 mat = .false.
542 call disp%skip()
543 call disp%show("call setMatInit(mat, uppLow, vupp = .true., vlow = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
544 call setMatInit(mat, uppLow, vupp = .true., vlow = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
545 call disp%show("mat")
546 call disp%show( mat )
547 call disp%skip()
548
549 end block
550
551 call disp%skip()
552 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
553 call disp%show("! Construct lower-diagonal real matrix.")
554 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
555 call disp%skip()
556
557 block
558
559 real :: mat(10,10)
560
561 mat = 0
562 call disp%skip()
563 call disp%show("call setMatInit(mat, uppLow, vupp = +1., vlow = -3., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)")
564 call setMatInit(mat, uppLow, vupp = +1., vlow = -3., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
565 call disp%show("mat")
566 call disp%show( mat )
567 call disp%skip()
568
569 end block
570
571 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
572
573 call disp%skip()
574 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
575 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
576 call disp%show("! Initialize upper-lower-diagonal matrices.")
577 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
578 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
579 call disp%skip()
580
581 call disp%skip()
582 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
583 call disp%show("! Construct upper-lower-diagonal string matrix.")
584 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
585 call disp%skip()
586
587 block
588
589 character(2) :: mat(10,10)
590
591 mat = ""
592 call disp%skip()
593 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = 'OO', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
594 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = 'OO', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
595 call disp%show("mat")
596 call disp%show( mat , deliml = SK_"""" )
597 call disp%skip()
598
599 mat = ""
600 call disp%skip()
601 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)")
602 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
603 call disp%show("mat")
604 call disp%show( mat , deliml = SK_"""" )
605 call disp%skip()
606
607 mat = ""
608 call disp%skip()
609 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)")
610 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
611 call disp%show("mat")
612 call disp%show( mat , deliml = SK_"""" )
613 call disp%skip()
614
615 mat = ""
616 call disp%skip()
617 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)")
618 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)
619 call disp%show("mat")
620 call disp%show( mat , deliml = SK_"""" )
621 call disp%skip()
622
623 mat = ""
624 call disp%skip()
625 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)")
626 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
627 call disp%show("mat")
628 call disp%show( mat , deliml = SK_"""" )
629 call disp%skip()
630
631 mat = ""
632 call disp%skip()
633 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)")
634 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
635 call disp%show("mat")
636 call disp%show( mat , deliml = SK_"""" )
637 call disp%skip()
638
639 mat = ""
640 call disp%skip()
641 call disp%show("call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)")
642 call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
643 call disp%show("mat")
644 call disp%show( mat , deliml = SK_"""" )
645 call disp%skip()
646
647 end block
648
649 call disp%skip()
650 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
651 call disp%show("! Construct upper-lower-diagonal integer matrix.")
652 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
653 call disp%skip()
654
655 block
656
657 integer :: mat(10,10)
658
659 mat = 0
660 call disp%skip()
661 call disp%show("call setMatInit(mat, uppLowDia, vupp = +1, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
662 call setMatInit(mat, uppLowDia, vupp = +1, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
663 call disp%show("mat")
664 call disp%show( mat )
665 call disp%skip()
666
667 end block
668
669 call disp%skip()
670 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
671 call disp%show("! Construct upper-lower-diagonal logical matrix.")
672 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
673 call disp%skip()
674
675 block
676
677 logical :: mat(10,10)
678
679 mat = .false.
680 call disp%skip()
681 call disp%show("call setMatInit(mat, uppLowDia, vupp = .true., vlow = .true., vdia = .false., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)")
682 call setMatInit(mat, uppLowDia, vupp = .true., vlow = .true., vdia = .false., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
683 call disp%show("mat")
684 call disp%show( mat )
685 call disp%skip()
686
687 end block
688
689 call disp%skip()
690 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
691 call disp%show("! Construct upper-lower-diagonal real matrix.")
692 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
693 call disp%skip()
694
695 block
696
697 real :: mat(10,10)
698
699 mat = 0
700 call disp%skip()
701 call disp%show("call setMatInit(mat, uppLowDia, vupp = +1., vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)")
702 call setMatInit(mat, uppLowDia, vupp = +1., vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
703 call disp%show("mat")
704 call disp%show( mat )
705 call disp%skip()
706
707 end block
708
709 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
710
711end program example
Generate minimally-spaced character, integer, real sequences or sequences at fixed intervals of size ...
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
This module contains procedures and generic interfaces for generating ranges of discrete character,...
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 RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CK
The default complex kind in the ParaMonte library: real64 in Fortran, c_double_complex in C-Fortran I...
Definition: pm_kind.F90:542
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
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(lowDia_type), parameter lowDia
This is a scalar parameter object of type lowDia_type that is exclusively used to request lower-diago...
type(uppLowDia_type), parameter uppLowDia
This is a scalar parameter object of type uppLowDia_type that is exclusively used to request full dia...
type(uppLow_type), parameter uppLow
This is a scalar parameter object of type uppLow_type that is exclusively used to request upper-lower...
type(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
type(dia_type), parameter dia
This is a scalar parameter object of type dia_type that is exclusively used to request unit (or Ident...
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!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4! Initialize diagonal matrices.
5!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
8
9!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10! Construct diagonal string matrix.
11!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12
13
14mat = '' ! preset the matrix for better illustration.
15call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1))
16mat
17"OO", " ", " ", " ", " ", " ", " ", " ", " ", " "
18" ", "OO", " ", " ", " ", " ", " ", " ", " ", " "
19" ", " ", "OO", " ", " ", " ", " ", " ", " ", " "
20" ", " ", " ", "OO", " ", " ", " ", " ", " ", " "
21" ", " ", " ", " ", "OO", " ", " ", " ", " ", " "
22" ", " ", " ", " ", " ", "OO", " ", " ", " ", " "
23" ", " ", " ", " ", " ", " ", "OO", " ", " ", " "
24" ", " ", " ", " ", " ", " ", " ", "OO", " ", " "
25" ", " ", " ", " ", " ", " ", " ", " ", "OO", " "
26" ", " ", " ", " ", " ", " ", " ", " ", " ", "OO"
27
28
29mat = '' ! preset the matrix for better illustration.
30call setMatInit(mat, dia, vdia = 'OO', ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
31mat
32"OO", " ", " ", " ", " ", " ", " ", " ", " ", " "
33" ", "OO", " ", " ", " ", " ", " ", " ", " ", " "
34" ", " ", "OO", " ", " ", " ", " ", " ", " ", " "
35" ", " ", " ", "OO", " ", " ", " ", " ", " ", " "
36" ", " ", " ", " ", "OO", " ", " ", " ", " ", " "
37" ", " ", " ", " ", " ", "OO", " ", " ", " ", " "
38" ", " ", " ", " ", " ", " ", "OO", " ", " ", " "
39" ", " ", " ", " ", " ", " ", " ", "OO", " ", " "
40" ", " ", " ", " ", " ", " ", " ", " ", "OO", " "
41" ", " ", " ", " ", " ", " ", " ", " ", " ", "OO"
42
43
44mat = '' ! preset the matrix for better illustration.
45call setMatInit(mat, dia, vdia = 'OO', ndia = 5_IK, roff = 3_IK, coff = 0_IK)
46mat
47" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
48" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
49" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
50"OO", " ", " ", " ", " ", " ", " ", " ", " ", " "
51" ", "OO", " ", " ", " ", " ", " ", " ", " ", " "
52" ", " ", "OO", " ", " ", " ", " ", " ", " ", " "
53" ", " ", " ", "OO", " ", " ", " ", " ", " ", " "
54" ", " ", " ", " ", "OO", " ", " ", " ", " ", " "
55" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
56" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
57
58
59mat = '' ! preset the matrix for better illustration.
60call setMatInit(mat, dia, vdia = ['OO', 'YY', 'WW', 'XX'], roff = 3_IK, coff = 2_IK)
61mat
62" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
63" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
64" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
65" ", " ", "OO", " ", " ", " ", " ", " ", " ", " "
66" ", " ", " ", "YY", " ", " ", " ", " ", " ", " "
67" ", " ", " ", " ", "WW", " ", " ", " ", " ", " "
68" ", " ", " ", " ", " ", "XX", " ", " ", " ", " "
69" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
70" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
71" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
72
73
74!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
75! Construct diagonal integer matrix.
76!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77
78
79mat = 0 ! preset the matrix for better illustration.
80call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1))
81mat
82-2, +0, +0, +0, +0, +0, +0, +0, +0, +0
83+0, -2, +0, +0, +0, +0, +0, +0, +0, +0
84+0, +0, -2, +0, +0, +0, +0, +0, +0, +0
85+0, +0, +0, -2, +0, +0, +0, +0, +0, +0
86+0, +0, +0, +0, -2, +0, +0, +0, +0, +0
87+0, +0, +0, +0, +0, -2, +0, +0, +0, +0
88+0, +0, +0, +0, +0, +0, -2, +0, +0, +0
89+0, +0, +0, +0, +0, +0, +0, -2, +0, +0
90+0, +0, +0, +0, +0, +0, +0, +0, -2, +0
91+0, +0, +0, +0, +0, +0, +0, +0, +0, -2
92
93
94mat = 0 ! preset the matrix for better illustration.
95call setMatInit(mat, dia, vdia = -2, ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
96mat
97-2, +0, +0, +0, +0, +0, +0, +0, +0, +0
98+0, -2, +0, +0, +0, +0, +0, +0, +0, +0
99+0, +0, -2, +0, +0, +0, +0, +0, +0, +0
100+0, +0, +0, -2, +0, +0, +0, +0, +0, +0
101+0, +0, +0, +0, -2, +0, +0, +0, +0, +0
102+0, +0, +0, +0, +0, -2, +0, +0, +0, +0
103+0, +0, +0, +0, +0, +0, -2, +0, +0, +0
104+0, +0, +0, +0, +0, +0, +0, -2, +0, +0
105+0, +0, +0, +0, +0, +0, +0, +0, -2, +0
106+0, +0, +0, +0, +0, +0, +0, +0, +0, -2
107
108
109mat = 0 ! preset the matrix for better illustration.
110call setMatInit(mat, dia, vdia = getRange(1, 7), roff = 3_IK, coff = 3_IK)
111mat
112+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
113+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
114+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
115+0, +0, +0, +1, +0, +0, +0, +0, +0, +0
116+0, +0, +0, +0, +2, +0, +0, +0, +0, +0
117+0, +0, +0, +0, +0, +3, +0, +0, +0, +0
118+0, +0, +0, +0, +0, +0, +4, +0, +0, +0
119+0, +0, +0, +0, +0, +0, +0, +5, +0, +0
120+0, +0, +0, +0, +0, +0, +0, +0, +6, +0
121+0, +0, +0, +0, +0, +0, +0, +0, +0, +7
122
123
124!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125! Construct diagonal logical matrix.
126!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127
128
129mat = .false. ! preset the matrix for better illustration.
130call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1))
131mat
132T, F, F, F, F, F, F, F, F, F
133F, T, F, F, F, F, F, F, F, F
134F, F, T, F, F, F, F, F, F, F
135F, F, F, T, F, F, F, F, F, F
136F, F, F, F, T, F, F, F, F, F
137F, F, F, F, F, T, F, F, F, F
138F, F, F, F, F, F, T, F, F, F
139F, F, F, F, F, F, F, T, F, F
140F, F, F, F, F, F, F, F, T, F
141F, F, F, F, F, F, F, F, F, T
142
143
144mat = .false. ! preset the matrix for better illustration.
145call setMatInit(mat, dia, vdia = .true., ndia = minval(shape(mat, IK), 1), roff = 0_IK, coff = 0_IK)
146mat
147T, F, F, F, F, F, F, F, F, F
148F, T, F, F, F, F, F, F, F, F
149F, F, T, F, F, F, F, F, F, F
150F, F, F, T, F, F, F, F, F, F
151F, F, F, F, T, F, F, F, F, F
152F, F, F, F, F, T, F, F, F, F
153F, F, F, F, F, F, T, F, F, F
154F, F, F, F, F, F, F, T, F, F
155F, F, F, F, F, F, F, F, T, F
156F, F, F, F, F, F, F, F, F, T
157
158
159mat = .false. ! preset the matrix for better illustration.
160call setMatInit(mat, dia, vdia = [.true., .false., .true., .false.], roff = 3_IK, coff = 3_IK)
161mat
162F, F, F, F, F, F, F, F, F, F
163F, F, F, F, F, F, F, F, F, F
164F, F, F, F, F, F, F, F, F, F
165F, F, F, T, F, F, F, F, F, F
166F, F, F, F, F, F, F, F, F, F
167F, F, F, F, F, T, F, F, F, F
168F, F, F, F, F, F, F, F, F, F
169F, F, F, F, F, F, F, F, F, F
170F, F, F, F, F, F, F, F, F, F
171F, F, F, F, F, F, F, F, F, F
172
173
174!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
175! Construct diagonal real matrix.
176!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
177
178
179mat = 0. ! preset the matrix for better illustration.
180call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK))
181mat
182-2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
183+0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
184+0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
185+0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
186+0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
187+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
188+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000
189+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000
190+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000
191+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000
192
193
194mat = 0. ! preset the matrix for better illustration.
195call setMatInit(mat, dia, vdia = -2., ndia = size(mat,1,IK), roff = 0_IK, coff = 0_IK)
196mat
197-2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
198+0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
199+0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
200+0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
201+0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
202+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
203+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000, +0.00000000
204+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000, +0.00000000
205+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000, +0.00000000
206+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -2.00000000
207
208
209mat = 0. ! preset the matrix for better illustration.
210call setMatInit(mat, dia, vdia = -4., ndia = 7_IK, roff = 0_IK, coff = 3_IK)
211mat
212+0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
213+0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
214+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
215+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000
216+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000
217+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000
218+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000
219+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
220+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
221+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
222
223
224!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226! Initialize upper-diagonal matrices.
227!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229
230
231!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232! Construct upper-diagonal string matrix.
233!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234
235
236call setMatInit(mat, uppDia, vupp = 'AA', vdia = 'ZZ', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
237mat
238" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
239" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
240" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
241"ZZ", "AA", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
242" ", "ZZ", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
243" ", " ", "ZZ", "AA", "AA", "AA", "AA", " ", " ", " "
244" ", " ", " ", "ZZ", "AA", "AA", "AA", " ", " ", " "
245" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
246" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
247" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
248
249
250call setMatInit(mat, uppDia, vupp = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
251mat
252" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
253" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
254" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
255"ZZ", "AA", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
256" ", "YY", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
257" ", " ", "WW", "AA", "AA", "AA", "AA", " ", " ", " "
258" ", " ", " ", "XX", "AA", "AA", "AA", " ", " ", " "
259" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
260" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
261" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
262
263
264call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK)
265mat
266" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
267" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
268" ", " ", " ", "YY", "BB", "BB", "BB", "BB", "BB", "BB"
269" ", " ", " ", " ", "YY", "BB", "BB", "BB", "BB", "BB"
270" ", " ", " ", " ", " ", "YY", "BB", "BB", "BB", "BB"
271" ", " ", " ", " ", " ", " ", "YY", "BB", "BB", "BB"
272" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
273" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
274" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
275" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
276
277
278call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 1_IK, coff = 3_IK, doff = -1_IK)
279mat
280" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
281" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
282" ", " ", " ", "YY", "BB", "BB", "BB", "BB", "BB", "BB"
283" ", " ", " ", " ", "YY", "BB", "BB", "BB", "BB", "BB"
284" ", " ", " ", " ", " ", "YY", "BB", "BB", "BB", "BB"
285" ", " ", " ", " ", " ", " ", "YY", "BB", "BB", "BB"
286" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
287" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
288" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
289" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
290
291
292call setMatInit(mat, uppDia, vupp = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = -4_IK)
293mat
294" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
295" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
296" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
297" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
298" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
299" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
300" ", " ", " ", "YY", "BB", "BB", "BB", "BB", "BB", "BB"
301" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
302" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
303" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
304
305
306!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
307! Construct upper-diagonal integer matrix.
308!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
309
310
311call setMatInit(mat, uppDia, vupp = -3, vdia = -4, nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)
312mat
313+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
314+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
315+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
316+0, +0, +0, -4, -3, -3, -3, -3, -3, -3
317+0, +0, +0, +0, -4, -3, -3, -3, -3, -3
318+0, +0, +0, +0, +0, -4, -3, -3, -3, -3
319+0, +0, +0, +0, +0, +0, -4, -3, -3, -3
320+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
321+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
322+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
323
324
325!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
326! Construct upper-diagonal logical matrix.
327!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328
329
330call setMatInit(mat, uppDia, vupp = .true., vdia = .true., nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 3_IK)
331mat
332F, F, F, F, F, F, F, F, F, F
333F, F, F, F, F, F, F, F, F, F
334F, F, F, F, F, F, F, F, F, F
335F, F, F, T, T, T, T, T, T, T
336F, F, F, F, T, T, T, T, T, T
337F, F, F, F, F, T, T, T, T, T
338F, F, F, F, F, F, T, T, T, T
339F, F, F, F, F, F, F, F, F, F
340F, F, F, F, F, F, F, F, F, F
341F, F, F, F, F, F, F, F, F, F
342
343
344!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345! Construct upper-diagonal real matrix.
346!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347
348
349call setMatInit(mat, uppDia, vupp = -3., vdia = -4., nrow = 3_IK, ncol = 7_IK, roff = 0_IK, coff = 3_IK)
350mat
351+0.00000000, +0.00000000, +0.00000000, -4.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000
352+0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000
353+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -4.00000000, -3.00000000, -3.00000000, -3.00000000, -3.00000000
354+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
355+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
356+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
357+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
358+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
359+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
360+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
361
362
363!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
364!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
365! Initialize lower-diagonal matrices.
366!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
368
369
370!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
371! Construct lower-diagonal string matrix.
372!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
373
374
375call setMatInit(mat, lowDia, vlow = 'AA', vdia = 'ZZ', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
376mat
377" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
378" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
379" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
380"ZZ", " ", " ", " ", " ", " ", " ", " ", " ", " "
381"AA", "ZZ", " ", " ", " ", " ", " ", " ", " ", " "
382"AA", "AA", "ZZ", " ", " ", " ", " ", " ", " ", " "
383"AA", "AA", "AA", "ZZ", " ", " ", " ", " ", " ", " "
384"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
385"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
386"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
387
388
389call setMatInit(mat, lowDia, vlow = 'AA', vdia = ['ZZ', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
390mat
391" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
392" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
393" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
394"ZZ", " ", " ", " ", " ", " ", " ", " ", " ", " "
395"AA", "YY", " ", " ", " ", " ", " ", " ", " ", " "
396"AA", "AA", "WW", " ", " ", " ", " ", " ", " ", " "
397"AA", "AA", "AA", "XX", " ", " ", " ", " ", " ", " "
398"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
399"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
400"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
401
402
403call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
404mat
405" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
406" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
407" ", " ", " ", "YY", " ", " ", " ", " ", " ", " "
408" ", " ", " ", "BB", "YY", " ", " ", " ", " ", " "
409" ", " ", " ", "BB", "BB", "YY", " ", " ", " ", " "
410" ", " ", " ", "BB", "BB", "BB", "YY", " ", " ", " "
411" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
412" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
413" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
414" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
415
416
417call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
418mat
419" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
420" ", " ", " ", "BB", "YY", " ", " ", " ", " ", " "
421" ", " ", " ", "BB", "BB", "YY", " ", " ", " ", " "
422" ", " ", " ", "BB", "BB", "BB", "YY", " ", " ", " "
423" ", " ", " ", "BB", "BB", "BB", "BB", "YY", " ", " "
424" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "YY", " "
425" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
426" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
427" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
428" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
429
430
431call setMatInit(mat, lowDia, vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
432mat
433" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
434" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
435" ", " ", " ", "BB", "BB", "BB", "BB", "YY", " ", " "
436" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "YY", " "
437" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "YY"
438" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
439" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
440" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
441" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
442" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
443
444
445!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446! Construct lower-diagonal integer matrix.
447!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
448
449
450call setMatInit(mat, lowDia, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
451mat
452+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
453+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
454+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
455+0, +0, +0, -4, +0, +0, +0, +0, +0, +0
456+0, +0, +0, -3, -4, +0, +0, +0, +0, +0
457+0, +0, +0, -3, -3, -4, +0, +0, +0, +0
458+0, +0, +0, -3, -3, -3, -4, +0, +0, +0
459+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
460+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
461+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
462
463
464!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
465! Construct lower-diagonal logical matrix.
466!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
467
468
469call setMatInit(mat, lowDia, vlow = .true., vdia = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
470mat
471F, F, F, F, F, F, F, F, F, F
472F, F, F, F, F, F, F, F, F, F
473F, F, F, F, F, F, F, F, F, F
474F, F, F, T, F, F, F, F, F, F
475F, F, F, T, T, F, F, F, F, F
476F, F, F, T, T, T, F, F, F, F
477F, F, F, T, T, T, T, F, F, F
478F, F, F, T, T, T, T, F, F, F
479F, F, F, T, T, T, T, F, F, F
480F, F, F, T, T, T, T, F, F, F
481
482
483!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
484! Construct lower-diagonal real matrix.
485!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
486
487
488call setMatInit(mat, lowDia, vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
489mat
490+0.00000000, +0.00000000, +0.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
491+0.00000000, +0.00000000, +0.00000000, -3.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
492+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
493+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
494+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
495+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
496+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
497+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
498+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
499+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
500
501
502!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
504! Initialize upper-lower matrices.
505!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
506!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
507
508
509!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
510! Construct lower-diagonal string matrix.
511!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
512
513
514call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
515mat
516" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
517" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
518" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
519" ", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
520"HH", " ", "AA", "AA", " ", " ", " ", " ", " ", " "
521"HH", "HH", " ", "AA", " ", " ", " ", " ", " ", " "
522"HH", "HH", "HH", " ", " ", " ", " ", " ", " ", " "
523"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
524"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
525"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
526
527
528call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
529mat
530" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
531" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
532" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
533" ", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
534"HH", " ", "AA", "AA", " ", " ", " ", " ", " ", " "
535"HH", "HH", " ", "AA", " ", " ", " ", " ", " ", " "
536"HH", "HH", "HH", " ", " ", " ", " ", " ", " ", " "
537"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
538"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
539"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
540
541
542call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
543mat
544" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
545" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
546" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
547" ", "AA", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
548"HH", " ", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
549"HH", "HH", " ", "AA", "AA", "AA", "AA", " ", " ", " "
550"HH", "HH", "HH", " ", "AA", "AA", "AA", " ", " ", " "
551" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
552" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
553" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
554
555
556call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'HH', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)
557mat
558" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
559" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
560" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
561"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
562"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
563"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
564" ", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
565"HH", " ", "AA", "AA", " ", " ", " ", " ", " ", " "
566"HH", "HH", " ", "AA", " ", " ", " ", " ", " ", " "
567"HH", "HH", "HH", " ", " ", " ", " ", " ", " ", " "
568
569
570call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
571mat
572" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
573" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
574" ", " ", " ", " ", "AA", "AA", "AA", " ", " ", " "
575" ", " ", " ", "BB", " ", "AA", "AA", " ", " ", " "
576" ", " ", " ", "BB", "BB", " ", "AA", " ", " ", " "
577" ", " ", " ", "BB", "BB", "BB", " ", " ", " ", " "
578" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
579" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
580" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
581" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
582
583
584call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
585mat
586" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
587" ", " ", " ", "BB", " ", "AA", "AA", "AA", "AA", " "
588" ", " ", " ", "BB", "BB", " ", "AA", "AA", "AA", " "
589" ", " ", " ", "BB", "BB", "BB", " ", "AA", "AA", " "
590" ", " ", " ", "BB", "BB", "BB", "BB", " ", "AA", " "
591" ", " ", " ", "BB", "BB", "BB", "BB", "BB", " ", " "
592" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
593" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
594" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
595" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
596
597
598call setMatInit(mat, uppLow, vupp = 'AA', vlow = 'BB', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
599mat
600" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
601" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
602" ", " ", " ", "BB", "BB", "BB", "BB", " ", "AA", "AA"
603" ", " ", " ", "BB", "BB", "BB", "BB", "BB", " ", "AA"
604" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", " "
605" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
606" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
607" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
608" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
609" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
610
611
612!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
613! Construct lower-diagonal integer matrix.
614!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
615
616
617call setMatInit(mat, uppLow, vupp = +1, vlow = -3, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
618mat
619+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
620+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
621+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
622+0, +0, +0, +0, +1, +1, +1, +0, +0, +0
623+0, +0, +0, -3, +0, +1, +1, +0, +0, +0
624+0, +0, +0, -3, -3, +0, +1, +0, +0, +0
625+0, +0, +0, -3, -3, -3, +0, +0, +0, +0
626+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
627+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
628+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
629
630
631!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
632! Construct lower-diagonal logical matrix.
633!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634
635
636call setMatInit(mat, uppLow, vupp = .true., vlow = .true., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
637mat
638F, F, F, F, F, F, F, F, F, F
639F, F, F, F, F, F, F, F, F, F
640F, F, F, F, F, F, F, F, F, F
641F, F, F, F, T, T, T, F, F, F
642F, F, F, T, F, T, T, F, F, F
643F, F, F, T, T, F, T, F, F, F
644F, F, F, T, T, T, F, F, F, F
645F, F, F, T, T, T, T, F, F, F
646F, F, F, T, T, T, T, F, F, F
647F, F, F, T, T, T, T, F, F, F
648
649
650!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
651! Construct lower-diagonal real matrix.
652!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
653
654
655call setMatInit(mat, uppLow, vupp = +1., vlow = -3., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
656mat
657+0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
658+0.00000000, +0.00000000, +0.00000000, -3.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
659+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
660+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
661+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
662+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
663+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
664+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
665+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
666+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
667
668
669!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
670!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
671! Initialize upper-lower-diagonal matrices.
672!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
673!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
674
675
676!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
677! Construct upper-lower-diagonal string matrix.
678!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
679
680
681call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = 'OO', nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
682mat
683" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
684" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
685" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
686"OO", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
687"HH", "OO", "AA", "AA", " ", " ", " ", " ", " ", " "
688"HH", "HH", "OO", "AA", " ", " ", " ", " ", " ", " "
689"HH", "HH", "HH", "OO", " ", " ", " ", " ", " ", " "
690"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
691"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
692"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
693
694
695call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK)
696mat
697" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
698" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
699" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
700"OO", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
701"HH", "YY", "AA", "AA", " ", " ", " ", " ", " ", " "
702"HH", "HH", "WW", "AA", " ", " ", " ", " ", " ", " "
703"HH", "HH", "HH", "XX", " ", " ", " ", " ", " ", " "
704"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
705"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
706"HH", "HH", "HH", "HH", " ", " ", " ", " ", " ", " "
707
708
709call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 4_IK, ncol = 7_IK, roff = 3_IK, coff = 0_IK)
710mat
711" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
712" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
713" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
714"OO", "AA", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
715"HH", "YY", "AA", "AA", "AA", "AA", "AA", " ", " ", " "
716"HH", "HH", "WW", "AA", "AA", "AA", "AA", " ", " ", " "
717"HH", "HH", "HH", "XX", "AA", "AA", "AA", " ", " ", " "
718" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
719" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
720" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
721
722
723call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'HH', vdia = ['OO', 'YY', 'WW', 'XX'], nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 0_IK, doff = -3_IK)
724mat
725" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
726" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
727" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
728"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
729"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
730"AA", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
731"OO", "AA", "AA", "AA", " ", " ", " ", " ", " ", " "
732"HH", "YY", "AA", "AA", " ", " ", " ", " ", " ", " "
733"HH", "HH", "WW", "AA", " ", " ", " ", " ", " ", " "
734"HH", "HH", "HH", "XX", " ", " ", " ", " ", " ", " "
735
736
737call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 7_IK, ncol = 4_IK, roff = 2_IK, coff = 3_IK)
738mat
739" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
740" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
741" ", " ", " ", "YY", "AA", "AA", "AA", " ", " ", " "
742" ", " ", " ", "BB", "YY", "AA", "AA", " ", " ", " "
743" ", " ", " ", "BB", "BB", "YY", "AA", " ", " ", " "
744" ", " ", " ", "BB", "BB", "BB", "YY", " ", " ", " "
745" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
746" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
747" ", " ", " ", "BB", "BB", "BB", "BB", " ", " ", " "
748" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
749
750
751call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 5_IK, ncol = 6_IK, roff = 1_IK, coff = 3_IK, doff = +1_IK)
752mat
753" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
754" ", " ", " ", "BB", "YY", "AA", "AA", "AA", "AA", " "
755" ", " ", " ", "BB", "BB", "YY", "AA", "AA", "AA", " "
756" ", " ", " ", "BB", "BB", "BB", "YY", "AA", "AA", " "
757" ", " ", " ", "BB", "BB", "BB", "BB", "YY", "AA", " "
758" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "YY", " "
759" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
760" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
761" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
762" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
763
764
765call setMatInit(mat, uppLowDia, vupp = 'AA', vlow = 'BB', vdia = 'YY', nrow = 4_IK, ncol = 7_IK, roff = 2_IK, coff = 3_IK, doff = +4_IK)
766mat
767" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
768" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
769" ", " ", " ", "BB", "BB", "BB", "BB", "YY", "AA", "AA"
770" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "YY", "AA"
771" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "YY"
772" ", " ", " ", "BB", "BB", "BB", "BB", "BB", "BB", "BB"
773" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
774" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
775" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
776" ", " ", " ", " ", " ", " ", " ", " ", " ", " "
777
778
779!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
780! Construct upper-lower-diagonal integer matrix.
781!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
782
783
784call setMatInit(mat, uppLowDia, vupp = +1, vlow = -3, vdia = -4, nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
785mat
786+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
787+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
788+0, +0, +0, +0, +0, +0, +0, +0, +0, +0
789+0, +0, +0, -4, +1, +1, +1, +0, +0, +0
790+0, +0, +0, -3, -4, +1, +1, +0, +0, +0
791+0, +0, +0, -3, -3, -4, +1, +0, +0, +0
792+0, +0, +0, -3, -3, -3, -4, +0, +0, +0
793+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
794+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
795+0, +0, +0, -3, -3, -3, -3, +0, +0, +0
796
797
798!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
799! Construct upper-lower-diagonal logical matrix.
800!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
801
802
803call setMatInit(mat, uppLowDia, vupp = .true., vlow = .true., vdia = .false., nrow = 7_IK, ncol = 4_IK, roff = 3_IK, coff = 3_IK)
804mat
805F, F, F, F, F, F, F, F, F, F
806F, F, F, F, F, F, F, F, F, F
807F, F, F, F, F, F, F, F, F, F
808F, F, F, F, T, T, T, F, F, F
809F, F, F, T, F, T, T, F, F, F
810F, F, F, T, T, F, T, F, F, F
811F, F, F, T, T, T, F, F, F, F
812F, F, F, T, T, T, T, F, F, F
813F, F, F, T, T, T, T, F, F, F
814F, F, F, T, T, T, T, F, F, F
815
816
817!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
818! Construct upper-lower-diagonal real matrix.
819!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
820
821
822call setMatInit(mat, uppLowDia, vupp = +1., vlow = -3., vdia = -4., nrow = 7_IK, ncol = 3_IK, roff = 0_IK, coff = 3_IK)
823mat
824+0.00000000, +0.00000000, +0.00000000, -4.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
825+0.00000000, +0.00000000, +0.00000000, -3.00000000, -4.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
826+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
827+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
828+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
829+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
830+0.00000000, +0.00000000, +0.00000000, -3.00000000, -3.00000000, -3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
831+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
832+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
833+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
834
835
Test:
test_pm_matrixInit
Internal naming convention:
The following illustrates the internal naming convention used for the procedures within this generic interface.
setMatInitXXD_D2XX0_SK5
||| ||||| |||
||| ||||| Output type/kind
||| ||||The rank of `vdia` argument. `X` implies missing argument.
||| ||||`F` implies filling the full diagonal scalar `dia` with `ndia` input argument missing.
||| |||The rank of `vlow` argument. `X` implies missing argument.
||| ||The rank of `vupp` argument. `X` implies missing argument.
||| |The rank of the output `mat`.
||| `D` stands for dimension.
||The `vdia` argument presence: `D` implies presence. `X` implies missing argument.
|The `vlow` argument presence: `L` implies presence. `X` implies missing argument.
The `vupp` argument presence: `U` implies presence. `X` implies missing argument.
Todo:
Critical Priority: This generic interface should be extended to matrices of different packing formats besides the default.


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, Apr 21, 2017, 1:54 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 4139 of file pm_matrixInit.F90.


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