ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_matrixClass.F90
Go to the documentation of this file.
1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3!!!! !!!!
4!!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5!!!! !!!!
6!!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7!!!! !!!!
8!!!! This file is part of the ParaMonte library. !!!!
9!!!! !!!!
10!!!! LICENSE !!!!
11!!!! !!!!
12!!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13!!!! !!!!
14!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
79
80!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
81
83
84 use pm_kind, only: SK, IK, LK
89
90 implicit none
91
92 character(*,SK), parameter :: MODULE_NAME = "@pm_matrixClass"
93
94!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
95
119 type, abstract :: matrix_type
120 end type
121
122!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123
165 end type
166
201#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
202 !DIR$ ATTRIBUTES DLLEXPORT :: genrecmat
203#endif
204
205!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206
247 type, extends(matrix_type) :: square_type
248 end type
249
283 type(square_type), parameter :: square = square_type()
284#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
285 !DIR$ ATTRIBUTES DLLEXPORT :: square
286#endif
287
288!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
289
330 type, extends(matrix_type) :: invertible_type
331 end type
332
367#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
368 !DIR$ ATTRIBUTES DLLEXPORT :: invertible
369#endif
370
371!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
372
413 type, extends(matrix_type) :: factoring_type
414 end type
415
450#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
451 !DIR$ ATTRIBUTES DLLEXPORT :: factoring
452#endif
453
454!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
455
496 type, extends(matrix_type) :: cholesky_type
497 end type
498
532 type(cholesky_type), parameter :: cholesky = cholesky_type()
533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
534 !DIR$ ATTRIBUTES DLLEXPORT :: cholesky
535#endif
536
537!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
538
579 type, extends(cholesky_type) :: choLow_type
580 end type
581
615 type(choLow_type), parameter :: choLow = choLow_type()
616#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
617 !DIR$ ATTRIBUTES DLLEXPORT :: choLow
618#endif
619
620!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621
662 type, extends(cholesky_type) :: choUpp_type
663 end type
664
698 type(choUpp_type), parameter :: choUpp = choUpp_type()
699#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
700 !DIR$ ATTRIBUTES DLLEXPORT :: choUpp
701#endif
702
703!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
704
745 type, extends(matrix_type) :: lup_type
746 end type
747
781 type(lup_type), parameter :: lup = lup_type()
782#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
783 !DIR$ ATTRIBUTES DLLEXPORT :: lup
784#endif
785
786!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
787
828 type, extends(matrix_type) :: symmetric_type
829 end type
830
865#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
866 !DIR$ ATTRIBUTES DLLEXPORT :: symmetric
867#endif
868
869!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
870
911 type, extends(matrix_type) :: hermitian_type
912 end type
913
948#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
949 !DIR$ ATTRIBUTES DLLEXPORT :: hermitian
950#endif
951
952!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
953
995 end type
996
1031#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1032 !DIR$ ATTRIBUTES DLLEXPORT :: posdefmat
1033#endif
1034
1035!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1036!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1038
1104 type, extends(matrix_type) :: triang_type
1105 end type
1106
1140 type(triang_type), parameter :: triang = triang_type()
1141#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1142 !DIR$ ATTRIBUTES DLLEXPORT :: triang
1143#endif
1144
1145!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1146!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1147!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1148
1187 type, extends(triang_type) :: upperDiag_type
1188 end type
1189
1224#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1225 !DIR$ ATTRIBUTES DLLEXPORT :: upperDiag
1226#endif
1227
1228!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1229
1269 end type
1270
1305#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1306 !DIR$ ATTRIBUTES DLLEXPORT :: upperUnit
1307#endif
1308
1309!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1310
1350 end type
1351
1386#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1387 !DIR$ ATTRIBUTES DLLEXPORT :: upperZero
1388#endif
1389
1390!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1391!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1392!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1393
1432 type, extends(triang_type) :: lowerDiag_type
1433 end type
1434
1469#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1470 !DIR$ ATTRIBUTES DLLEXPORT :: lowerDiag
1471#endif
1472
1473!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1474
1514 end type
1515
1550#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1551 !DIR$ ATTRIBUTES DLLEXPORT :: lowerUnit
1552#endif
1553
1554!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1555
1595 end type
1596
1631#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1632 !DIR$ ATTRIBUTES DLLEXPORT :: lowerZero
1633#endif
1634
1635!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1636!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1637!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1638
1684 end type
1685
1720#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1721 !DIR$ ATTRIBUTES DLLEXPORT :: unitTriang
1722#endif
1723
1724!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1725!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1726!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1727
1773 end type
1774
1809#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1810 !DIR$ ATTRIBUTES DLLEXPORT :: atomicTriang
1811#endif
1812
1813!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1814!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1815!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1816
1890 end type
1891
1926#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
1927 !DIR$ ATTRIBUTES DLLEXPORT :: frobenius
1928#endif
1929
1930!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1931!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1932!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1933
1992 end type
1993
2027 type(gauss_type), parameter :: gauss = gauss_type()
2028#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2029 !DIR$ ATTRIBUTES DLLEXPORT :: gauss
2030#endif
2031
2032!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2033!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2034!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2035
2115 interface isMatClass
2116
2117 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2118 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2119 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2120
2121 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2122
2123#if CK5_ENABLED
2124 PURE module function isMatClassPosDefFulRDP_CK5(mat, class) result(itis)
2125#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2126 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_CK5
2127#endif
2128 use pm_kind, only: CKG => CK5
2129 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2130 type(posdefmat_type) , intent(in) :: class
2131 logical(LK) :: itis
2132 end function
2133#endif
2134
2135#if CK4_ENABLED
2136 PURE module function isMatClassPosDefFulRDP_CK4(mat, class) result(itis)
2137#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2138 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_CK4
2139#endif
2140 use pm_kind, only: CKG => CK4
2141 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2142 type(posdefmat_type) , intent(in) :: class
2143 logical(LK) :: itis
2144 end function
2145#endif
2146
2147#if CK3_ENABLED
2148 PURE module function isMatClassPosDefFulRDP_CK3(mat, class) result(itis)
2149#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2150 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_CK3
2151#endif
2152 use pm_kind, only: CKG => CK3
2153 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2154 type(posdefmat_type) , intent(in) :: class
2155 logical(LK) :: itis
2156 end function
2157#endif
2158
2159#if CK2_ENABLED
2160 PURE module function isMatClassPosDefFulRDP_CK2(mat, class) result(itis)
2161#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2162 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_CK2
2163#endif
2164 use pm_kind, only: CKG => CK2
2165 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2166 type(posdefmat_type) , intent(in) :: class
2167 logical(LK) :: itis
2168 end function
2169#endif
2170
2171#if CK1_ENABLED
2172 PURE module function isMatClassPosDefFulRDP_CK1(mat, class) result(itis)
2173#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2174 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_CK1
2175#endif
2176 use pm_kind, only: CKG => CK1
2177 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2178 type(posdefmat_type) , intent(in) :: class
2179 logical(LK) :: itis
2180 end function
2181#endif
2182
2183 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2184
2185#if RK5_ENABLED
2186 PURE module function isMatClassPosDefFulRDP_RK5(mat, class) result(itis)
2187#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2188 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_RK5
2189#endif
2190 use pm_kind, only: RKG => RK5
2191 real(RKG) , intent(in) , contiguous :: mat(:,:)
2192 type(posdefmat_type) , intent(in) :: class
2193 logical(LK) :: itis
2194 end function
2195#endif
2196
2197#if RK4_ENABLED
2198 PURE module function isMatClassPosDefFulRDP_RK4(mat, class) result(itis)
2199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2200 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_RK4
2201#endif
2202 use pm_kind, only: RKG => RK4
2203 real(RKG) , intent(in) , contiguous :: mat(:,:)
2204 type(posdefmat_type) , intent(in) :: class
2205 logical(LK) :: itis
2206 end function
2207#endif
2208
2209#if RK3_ENABLED
2210 PURE module function isMatClassPosDefFulRDP_RK3(mat, class) result(itis)
2211#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2212 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_RK3
2213#endif
2214 use pm_kind, only: RKG => RK3
2215 real(RKG) , intent(in) , contiguous :: mat(:,:)
2216 type(posdefmat_type) , intent(in) :: class
2217 logical(LK) :: itis
2218 end function
2219#endif
2220
2221#if RK2_ENABLED
2222 PURE module function isMatClassPosDefFulRDP_RK2(mat, class) result(itis)
2223#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2224 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_RK2
2225#endif
2226 use pm_kind, only: RKG => RK2
2227 real(RKG) , intent(in) , contiguous :: mat(:,:)
2228 type(posdefmat_type) , intent(in) :: class
2229 logical(LK) :: itis
2230 end function
2231#endif
2232
2233#if RK1_ENABLED
2234 PURE module function isMatClassPosDefFulRDP_RK1(mat, class) result(itis)
2235#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2236 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefFulRDP_RK1
2237#endif
2238 use pm_kind, only: RKG => RK1
2239 real(RKG) , intent(in) , contiguous :: mat(:,:)
2240 type(posdefmat_type) , intent(in) :: class
2241 logical(LK) :: itis
2242 end function
2243#endif
2244
2245 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2246
2247 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2248 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2249 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2250
2251 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2252
2253#if CK5_ENABLED
2254 PURE module function isMatClassPosDefUppRDP_CK5(mat, class, subset, pack) result(itis)
2255#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2256 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_CK5
2257#endif
2258 use pm_kind, only: CKG => CK5
2259 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2260 type(posdefmat_type) , intent(in) :: class
2261 type(uppDia_type) , intent(in) :: subset
2262 type(rdpack_type) , intent(in) :: pack
2263 logical(LK) :: itis
2264 end function
2265#endif
2266
2267#if CK4_ENABLED
2268 PURE module function isMatClassPosDefUppRDP_CK4(mat, class, subset, pack) result(itis)
2269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2270 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_CK4
2271#endif
2272 use pm_kind, only: CKG => CK4
2273 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2274 type(posdefmat_type) , intent(in) :: class
2275 type(uppDia_type) , intent(in) :: subset
2276 type(rdpack_type) , intent(in) :: pack
2277 logical(LK) :: itis
2278 end function
2279#endif
2280
2281#if CK3_ENABLED
2282 PURE module function isMatClassPosDefUppRDP_CK3(mat, class, subset, pack) result(itis)
2283#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2284 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_CK3
2285#endif
2286 use pm_kind, only: CKG => CK3
2287 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2288 type(posdefmat_type) , intent(in) :: class
2289 type(uppDia_type) , intent(in) :: subset
2290 type(rdpack_type) , intent(in) :: pack
2291 logical(LK) :: itis
2292 end function
2293#endif
2294
2295#if CK2_ENABLED
2296 PURE module function isMatClassPosDefUppRDP_CK2(mat, class, subset, pack) result(itis)
2297#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2298 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_CK2
2299#endif
2300 use pm_kind, only: CKG => CK2
2301 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2302 type(posdefmat_type) , intent(in) :: class
2303 type(uppDia_type) , intent(in) :: subset
2304 type(rdpack_type) , intent(in) :: pack
2305 logical(LK) :: itis
2306 end function
2307#endif
2308
2309#if CK1_ENABLED
2310 PURE module function isMatClassPosDefUppRDP_CK1(mat, class, subset, pack) result(itis)
2311#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2312 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_CK1
2313#endif
2314 use pm_kind, only: CKG => CK1
2315 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2316 type(posdefmat_type) , intent(in) :: class
2317 type(uppDia_type) , intent(in) :: subset
2318 type(rdpack_type) , intent(in) :: pack
2319 logical(LK) :: itis
2320 end function
2321#endif
2322
2323 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2324
2325#if RK5_ENABLED
2326 PURE module function isMatClassPosDefUppRDP_RK5(mat, class, subset, pack) result(itis)
2327#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2328 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_RK5
2329#endif
2330 use pm_kind, only: RKG => RK5
2331 real(RKG) , intent(in) , contiguous :: mat(:,:)
2332 type(posdefmat_type) , intent(in) :: class
2333 type(uppDia_type) , intent(in) :: subset
2334 type(rdpack_type) , intent(in) :: pack
2335 logical(LK) :: itis
2336 end function
2337#endif
2338
2339#if RK4_ENABLED
2340 PURE module function isMatClassPosDefUppRDP_RK4(mat, class, subset, pack) result(itis)
2341#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2342 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_RK4
2343#endif
2344 use pm_kind, only: RKG => RK4
2345 real(RKG) , intent(in) , contiguous :: mat(:,:)
2346 type(posdefmat_type) , intent(in) :: class
2347 type(uppDia_type) , intent(in) :: subset
2348 type(rdpack_type) , intent(in) :: pack
2349 logical(LK) :: itis
2350 end function
2351#endif
2352
2353#if RK3_ENABLED
2354 PURE module function isMatClassPosDefUppRDP_RK3(mat, class, subset, pack) result(itis)
2355#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2356 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_RK3
2357#endif
2358 use pm_kind, only: RKG => RK3
2359 real(RKG) , intent(in) , contiguous :: mat(:,:)
2360 type(posdefmat_type) , intent(in) :: class
2361 type(uppDia_type) , intent(in) :: subset
2362 type(rdpack_type) , intent(in) :: pack
2363 logical(LK) :: itis
2364 end function
2365#endif
2366
2367#if RK2_ENABLED
2368 PURE module function isMatClassPosDefUppRDP_RK2(mat, class, subset, pack) result(itis)
2369#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2370 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_RK2
2371#endif
2372 use pm_kind, only: RKG => RK2
2373 real(RKG) , intent(in) , contiguous :: mat(:,:)
2374 type(posdefmat_type) , intent(in) :: class
2375 type(uppDia_type) , intent(in) :: subset
2376 type(rdpack_type) , intent(in) :: pack
2377 logical(LK) :: itis
2378 end function
2379#endif
2380
2381#if RK1_ENABLED
2382 PURE module function isMatClassPosDefUppRDP_RK1(mat, class, subset, pack) result(itis)
2383#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2384 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRDP_RK1
2385#endif
2386 use pm_kind, only: RKG => RK1
2387 real(RKG) , intent(in) , contiguous :: mat(:,:)
2388 type(posdefmat_type) , intent(in) :: class
2389 type(uppDia_type) , intent(in) :: subset
2390 type(rdpack_type) , intent(in) :: pack
2391 logical(LK) :: itis
2392 end function
2393#endif
2394
2395 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2396
2397 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2398 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2399 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2400
2401 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2402
2403#if CK5_ENABLED
2404 PURE module function isMatClassPosDefLowRDP_CK5(mat, class, subset, pack) result(itis)
2405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2406 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_CK5
2407#endif
2408 use pm_kind, only: CKG => CK5
2409 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2410 type(posdefmat_type) , intent(in) :: class
2411 type(lowDia_type) , intent(in) :: subset
2412 type(rdpack_type) , intent(in) :: pack
2413 logical(LK) :: itis
2414 end function
2415#endif
2416
2417#if CK4_ENABLED
2418 PURE module function isMatClassPosDefLowRDP_CK4(mat, class, subset, pack) result(itis)
2419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2420 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_CK4
2421#endif
2422 use pm_kind, only: CKG => CK4
2423 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2424 type(posdefmat_type) , intent(in) :: class
2425 type(lowDia_type) , intent(in) :: subset
2426 type(rdpack_type) , intent(in) :: pack
2427 logical(LK) :: itis
2428 end function
2429#endif
2430
2431#if CK3_ENABLED
2432 PURE module function isMatClassPosDefLowRDP_CK3(mat, class, subset, pack) result(itis)
2433#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2434 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_CK3
2435#endif
2436 use pm_kind, only: CKG => CK3
2437 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2438 type(posdefmat_type) , intent(in) :: class
2439 type(lowDia_type) , intent(in) :: subset
2440 type(rdpack_type) , intent(in) :: pack
2441 logical(LK) :: itis
2442 end function
2443#endif
2444
2445#if CK2_ENABLED
2446 PURE module function isMatClassPosDefLowRDP_CK2(mat, class, subset, pack) result(itis)
2447#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2448 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_CK2
2449#endif
2450 use pm_kind, only: CKG => CK2
2451 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2452 type(posdefmat_type) , intent(in) :: class
2453 type(lowDia_type) , intent(in) :: subset
2454 type(rdpack_type) , intent(in) :: pack
2455 logical(LK) :: itis
2456 end function
2457#endif
2458
2459#if CK1_ENABLED
2460 PURE module function isMatClassPosDefLowRDP_CK1(mat, class, subset, pack) result(itis)
2461#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2462 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_CK1
2463#endif
2464 use pm_kind, only: CKG => CK1
2465 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2466 type(posdefmat_type) , intent(in) :: class
2467 type(lowDia_type) , intent(in) :: subset
2468 type(rdpack_type) , intent(in) :: pack
2469 logical(LK) :: itis
2470 end function
2471#endif
2472
2473 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2474
2475#if RK5_ENABLED
2476 PURE module function isMatClassPosDefLowRDP_RK5(mat, class, subset, pack) result(itis)
2477#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2478 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_RK5
2479#endif
2480 use pm_kind, only: RKG => RK5
2481 real(RKG) , intent(in) , contiguous :: mat(:,:)
2482 type(posdefmat_type) , intent(in) :: class
2483 type(lowDia_type) , intent(in) :: subset
2484 type(rdpack_type) , intent(in) :: pack
2485 logical(LK) :: itis
2486 end function
2487#endif
2488
2489#if RK4_ENABLED
2490 PURE module function isMatClassPosDefLowRDP_RK4(mat, class, subset, pack) result(itis)
2491#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2492 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_RK4
2493#endif
2494 use pm_kind, only: RKG => RK4
2495 real(RKG) , intent(in) , contiguous :: mat(:,:)
2496 type(posdefmat_type) , intent(in) :: class
2497 type(lowDia_type) , intent(in) :: subset
2498 type(rdpack_type) , intent(in) :: pack
2499 logical(LK) :: itis
2500 end function
2501#endif
2502
2503#if RK3_ENABLED
2504 PURE module function isMatClassPosDefLowRDP_RK3(mat, class, subset, pack) result(itis)
2505#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2506 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_RK3
2507#endif
2508 use pm_kind, only: RKG => RK3
2509 real(RKG) , intent(in) , contiguous :: mat(:,:)
2510 type(posdefmat_type) , intent(in) :: class
2511 type(lowDia_type) , intent(in) :: subset
2512 type(rdpack_type) , intent(in) :: pack
2513 logical(LK) :: itis
2514 end function
2515#endif
2516
2517#if RK2_ENABLED
2518 PURE module function isMatClassPosDefLowRDP_RK2(mat, class, subset, pack) result(itis)
2519#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2520 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_RK2
2521#endif
2522 use pm_kind, only: RKG => RK2
2523 real(RKG) , intent(in) , contiguous :: mat(:,:)
2524 type(posdefmat_type) , intent(in) :: class
2525 type(lowDia_type) , intent(in) :: subset
2526 type(rdpack_type) , intent(in) :: pack
2527 logical(LK) :: itis
2528 end function
2529#endif
2530
2531#if RK1_ENABLED
2532 PURE module function isMatClassPosDefLowRDP_RK1(mat, class, subset, pack) result(itis)
2533#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2534 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRDP_RK1
2535#endif
2536 use pm_kind, only: RKG => RK1
2537 real(RKG) , intent(in) , contiguous :: mat(:,:)
2538 type(posdefmat_type) , intent(in) :: class
2539 type(lowDia_type) , intent(in) :: subset
2540 type(rdpack_type) , intent(in) :: pack
2541 logical(LK) :: itis
2542 end function
2543#endif
2544
2545 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2546
2547 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2548 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2549 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2550
2551 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2552
2553#if CK5_ENABLED
2554 PURE module function isMatClassPosDefUppRFP_CK5(mat, class, subset, pack) result(itis)
2555#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2556 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_CK5
2557#endif
2558 use pm_kind, only: CKG => CK5
2559 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2560 type(posdefmat_type) , intent(in) :: class
2561 type(uppDia_type) , intent(in) :: subset
2562 type(rfpack_type) , intent(in) :: pack
2563 logical(LK) :: itis
2564 end function
2565#endif
2566
2567#if CK4_ENABLED
2568 PURE module function isMatClassPosDefUppRFP_CK4(mat, class, subset, pack) result(itis)
2569#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2570 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_CK4
2571#endif
2572 use pm_kind, only: CKG => CK4
2573 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2574 type(posdefmat_type) , intent(in) :: class
2575 type(uppDia_type) , intent(in) :: subset
2576 type(rfpack_type) , intent(in) :: pack
2577 logical(LK) :: itis
2578 end function
2579#endif
2580
2581#if CK3_ENABLED
2582 PURE module function isMatClassPosDefUppRFP_CK3(mat, class, subset, pack) result(itis)
2583#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2584 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_CK3
2585#endif
2586 use pm_kind, only: CKG => CK3
2587 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2588 type(posdefmat_type) , intent(in) :: class
2589 type(uppDia_type) , intent(in) :: subset
2590 type(rfpack_type) , intent(in) :: pack
2591 logical(LK) :: itis
2592 end function
2593#endif
2594
2595#if CK2_ENABLED
2596 PURE module function isMatClassPosDefUppRFP_CK2(mat, class, subset, pack) result(itis)
2597#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2598 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_CK2
2599#endif
2600 use pm_kind, only: CKG => CK2
2601 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2602 type(posdefmat_type) , intent(in) :: class
2603 type(uppDia_type) , intent(in) :: subset
2604 type(rfpack_type) , intent(in) :: pack
2605 logical(LK) :: itis
2606 end function
2607#endif
2608
2609#if CK1_ENABLED
2610 PURE module function isMatClassPosDefUppRFP_CK1(mat, class, subset, pack) result(itis)
2611#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2612 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_CK1
2613#endif
2614 use pm_kind, only: CKG => CK1
2615 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2616 type(posdefmat_type) , intent(in) :: class
2617 type(uppDia_type) , intent(in) :: subset
2618 type(rfpack_type) , intent(in) :: pack
2619 logical(LK) :: itis
2620 end function
2621#endif
2622
2623 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2624
2625#if RK5_ENABLED
2626 PURE module function isMatClassPosDefUppRFP_RK5(mat, class, subset, pack) result(itis)
2627#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2628 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_RK5
2629#endif
2630 use pm_kind, only: RKG => RK5
2631 real(RKG) , intent(in) , contiguous :: mat(:,:)
2632 type(posdefmat_type) , intent(in) :: class
2633 type(uppDia_type) , intent(in) :: subset
2634 type(rfpack_type) , intent(in) :: pack
2635 logical(LK) :: itis
2636 end function
2637#endif
2638
2639#if RK4_ENABLED
2640 PURE module function isMatClassPosDefUppRFP_RK4(mat, class, subset, pack) result(itis)
2641#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2642 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_RK4
2643#endif
2644 use pm_kind, only: RKG => RK4
2645 real(RKG) , intent(in) , contiguous :: mat(:,:)
2646 type(posdefmat_type) , intent(in) :: class
2647 type(uppDia_type) , intent(in) :: subset
2648 type(rfpack_type) , intent(in) :: pack
2649 logical(LK) :: itis
2650 end function
2651#endif
2652
2653#if RK3_ENABLED
2654 PURE module function isMatClassPosDefUppRFP_RK3(mat, class, subset, pack) result(itis)
2655#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2656 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_RK3
2657#endif
2658 use pm_kind, only: RKG => RK3
2659 real(RKG) , intent(in) , contiguous :: mat(:,:)
2660 type(posdefmat_type) , intent(in) :: class
2661 type(uppDia_type) , intent(in) :: subset
2662 type(rfpack_type) , intent(in) :: pack
2663 logical(LK) :: itis
2664 end function
2665#endif
2666
2667#if RK2_ENABLED
2668 PURE module function isMatClassPosDefUppRFP_RK2(mat, class, subset, pack) result(itis)
2669#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2670 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_RK2
2671#endif
2672 use pm_kind, only: RKG => RK2
2673 real(RKG) , intent(in) , contiguous :: mat(:,:)
2674 type(posdefmat_type) , intent(in) :: class
2675 type(uppDia_type) , intent(in) :: subset
2676 type(rfpack_type) , intent(in) :: pack
2677 logical(LK) :: itis
2678 end function
2679#endif
2680
2681#if RK1_ENABLED
2682 PURE module function isMatClassPosDefUppRFP_RK1(mat, class, subset, pack) result(itis)
2683#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2684 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefUppRFP_RK1
2685#endif
2686 use pm_kind, only: RKG => RK1
2687 real(RKG) , intent(in) , contiguous :: mat(:,:)
2688 type(posdefmat_type) , intent(in) :: class
2689 type(uppDia_type) , intent(in) :: subset
2690 type(rfpack_type) , intent(in) :: pack
2691 logical(LK) :: itis
2692 end function
2693#endif
2694
2695 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2696
2697 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2698 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2699 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2700
2701 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2702
2703#if CK5_ENABLED
2704 PURE module function isMatClassPosDefLowRFP_CK5(mat, class, subset, pack) result(itis)
2705#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2706 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_CK5
2707#endif
2708 use pm_kind, only: CKG => CK5
2709 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2710 type(posdefmat_type) , intent(in) :: class
2711 type(lowDia_type) , intent(in) :: subset
2712 type(rfpack_type) , intent(in) :: pack
2713 logical(LK) :: itis
2714 end function
2715#endif
2716
2717#if CK4_ENABLED
2718 PURE module function isMatClassPosDefLowRFP_CK4(mat, class, subset, pack) result(itis)
2719#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2720 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_CK4
2721#endif
2722 use pm_kind, only: CKG => CK4
2723 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2724 type(posdefmat_type) , intent(in) :: class
2725 type(lowDia_type) , intent(in) :: subset
2726 type(rfpack_type) , intent(in) :: pack
2727 logical(LK) :: itis
2728 end function
2729#endif
2730
2731#if CK3_ENABLED
2732 PURE module function isMatClassPosDefLowRFP_CK3(mat, class, subset, pack) result(itis)
2733#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2734 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_CK3
2735#endif
2736 use pm_kind, only: CKG => CK3
2737 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2738 type(posdefmat_type) , intent(in) :: class
2739 type(lowDia_type) , intent(in) :: subset
2740 type(rfpack_type) , intent(in) :: pack
2741 logical(LK) :: itis
2742 end function
2743#endif
2744
2745#if CK2_ENABLED
2746 PURE module function isMatClassPosDefLowRFP_CK2(mat, class, subset, pack) result(itis)
2747#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2748 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_CK2
2749#endif
2750 use pm_kind, only: CKG => CK2
2751 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2752 type(posdefmat_type) , intent(in) :: class
2753 type(lowDia_type) , intent(in) :: subset
2754 type(rfpack_type) , intent(in) :: pack
2755 logical(LK) :: itis
2756 end function
2757#endif
2758
2759#if CK1_ENABLED
2760 PURE module function isMatClassPosDefLowRFP_CK1(mat, class, subset, pack) result(itis)
2761#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2762 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_CK1
2763#endif
2764 use pm_kind, only: CKG => CK1
2765 complex(CKG) , intent(in) , contiguous :: mat(:,:)
2766 type(posdefmat_type) , intent(in) :: class
2767 type(lowDia_type) , intent(in) :: subset
2768 type(rfpack_type) , intent(in) :: pack
2769 logical(LK) :: itis
2770 end function
2771#endif
2772
2773 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2774
2775#if RK5_ENABLED
2776 PURE module function isMatClassPosDefLowRFP_RK5(mat, class, subset, pack) result(itis)
2777#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2778 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_RK5
2779#endif
2780 use pm_kind, only: RKG => RK5
2781 real(RKG) , intent(in) , contiguous :: mat(:,:)
2782 type(posdefmat_type) , intent(in) :: class
2783 type(lowDia_type) , intent(in) :: subset
2784 type(rfpack_type) , intent(in) :: pack
2785 logical(LK) :: itis
2786 end function
2787#endif
2788
2789#if RK4_ENABLED
2790 PURE module function isMatClassPosDefLowRFP_RK4(mat, class, subset, pack) result(itis)
2791#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2792 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_RK4
2793#endif
2794 use pm_kind, only: RKG => RK4
2795 real(RKG) , intent(in) , contiguous :: mat(:,:)
2796 type(posdefmat_type) , intent(in) :: class
2797 type(lowDia_type) , intent(in) :: subset
2798 type(rfpack_type) , intent(in) :: pack
2799 logical(LK) :: itis
2800 end function
2801#endif
2802
2803#if RK3_ENABLED
2804 PURE module function isMatClassPosDefLowRFP_RK3(mat, class, subset, pack) result(itis)
2805#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2806 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_RK3
2807#endif
2808 use pm_kind, only: RKG => RK3
2809 real(RKG) , intent(in) , contiguous :: mat(:,:)
2810 type(posdefmat_type) , intent(in) :: class
2811 type(lowDia_type) , intent(in) :: subset
2812 type(rfpack_type) , intent(in) :: pack
2813 logical(LK) :: itis
2814 end function
2815#endif
2816
2817#if RK2_ENABLED
2818 PURE module function isMatClassPosDefLowRFP_RK2(mat, class, subset, pack) result(itis)
2819#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2820 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_RK2
2821#endif
2822 use pm_kind, only: RKG => RK2
2823 real(RKG) , intent(in) , contiguous :: mat(:,:)
2824 type(posdefmat_type) , intent(in) :: class
2825 type(lowDia_type) , intent(in) :: subset
2826 type(rfpack_type) , intent(in) :: pack
2827 logical(LK) :: itis
2828 end function
2829#endif
2830
2831#if RK1_ENABLED
2832 PURE module function isMatClassPosDefLowRFP_RK1(mat, class, subset, pack) result(itis)
2833#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2834 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassPosDefLowRFP_RK1
2835#endif
2836 use pm_kind, only: RKG => RK1
2837 real(RKG) , intent(in) , contiguous :: mat(:,:)
2838 type(posdefmat_type) , intent(in) :: class
2839 type(lowDia_type) , intent(in) :: subset
2840 type(rfpack_type) , intent(in) :: pack
2841 logical(LK) :: itis
2842 end function
2843#endif
2844
2845 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2846
2847 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2848 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2849 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2850
2851 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2852
2853#if SK5_ENABLED
2854 PURE module function isMatClassSymm_SK5(mat, class) result(itis)
2855#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2856 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_SK5
2857#endif
2858 use pm_kind, only: SKG => SK5
2859 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
2860 type(symmetric_type) , intent(in) :: class
2861 logical(LK) :: itis
2862 end function
2863#endif
2864
2865#if SK4_ENABLED
2866 PURE module function isMatClassSymm_SK4(mat, class) result(itis)
2867#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2868 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_SK4
2869#endif
2870 use pm_kind, only: SKG => SK4
2871 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
2872 type(symmetric_type) , intent(in) :: class
2873 logical(LK) :: itis
2874 end function
2875#endif
2876
2877#if SK3_ENABLED
2878 PURE module function isMatClassSymm_SK3(mat, class) result(itis)
2879#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2880 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_SK3
2881#endif
2882 use pm_kind, only: SKG => SK3
2883 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
2884 type(symmetric_type) , intent(in) :: class
2885 logical(LK) :: itis
2886 end function
2887#endif
2888
2889#if SK2_ENABLED
2890 PURE module function isMatClassSymm_SK2(mat, class) result(itis)
2891#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2892 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_SK2
2893#endif
2894 use pm_kind, only: SKG => SK2
2895 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
2896 type(symmetric_type) , intent(in) :: class
2897 logical(LK) :: itis
2898 end function
2899#endif
2900
2901#if SK1_ENABLED
2902 PURE module function isMatClassSymm_SK1(mat, class) result(itis)
2903#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2904 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_SK1
2905#endif
2906 use pm_kind, only: SKG => SK1
2907 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
2908 type(symmetric_type) , intent(in) :: class
2909 logical(LK) :: itis
2910 end function
2911#endif
2912
2913 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2914
2915#if IK5_ENABLED
2916 PURE module function isMatClassSymm_IK5(mat, class) result(itis)
2917#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2918 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_IK5
2919#endif
2920 use pm_kind, only: IKG => IK5
2921 integer(IKG) , intent(in) , contiguous :: mat(:,:)
2922 type(symmetric_type) , intent(in) :: class
2923 logical(LK) :: itis
2924 end function
2925#endif
2926
2927#if IK4_ENABLED
2928 PURE module function isMatClassSymm_IK4(mat, class) result(itis)
2929#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2930 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_IK4
2931#endif
2932 use pm_kind, only: IKG => IK4
2933 integer(IKG) , intent(in) , contiguous :: mat(:,:)
2934 type(symmetric_type) , intent(in) :: class
2935 logical(LK) :: itis
2936 end function
2937#endif
2938
2939#if IK3_ENABLED
2940 PURE module function isMatClassSymm_IK3(mat, class) result(itis)
2941#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2942 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_IK3
2943#endif
2944 use pm_kind, only: IKG => IK3
2945 integer(IKG) , intent(in) , contiguous :: mat(:,:)
2946 type(symmetric_type) , intent(in) :: class
2947 logical(LK) :: itis
2948 end function
2949#endif
2950
2951#if IK2_ENABLED
2952 PURE module function isMatClassSymm_IK2(mat, class) result(itis)
2953#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2954 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_IK2
2955#endif
2956 use pm_kind, only: IKG => IK2
2957 integer(IKG) , intent(in) , contiguous :: mat(:,:)
2958 type(symmetric_type) , intent(in) :: class
2959 logical(LK) :: itis
2960 end function
2961#endif
2962
2963#if IK1_ENABLED
2964 PURE module function isMatClassSymm_IK1(mat, class) result(itis)
2965#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2966 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_IK1
2967#endif
2968 use pm_kind, only: IKG => IK1
2969 integer(IKG) , intent(in) , contiguous :: mat(:,:)
2970 type(symmetric_type) , intent(in) :: class
2971 logical(LK) :: itis
2972 end function
2973#endif
2974
2975 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2976
2977#if LK5_ENABLED
2978 PURE module function isMatClassSymm_LK5(mat, class) result(itis)
2979#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2980 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_LK5
2981#endif
2982 use pm_kind, only: LKG => LK5
2983 logical(LKG) , intent(in) , contiguous :: mat(:,:)
2984 type(symmetric_type) , intent(in) :: class
2985 logical(LK) :: itis
2986 end function
2987#endif
2988
2989#if LK4_ENABLED
2990 PURE module function isMatClassSymm_LK4(mat, class) result(itis)
2991#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
2992 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_LK4
2993#endif
2994 use pm_kind, only: LKG => LK4
2995 logical(LKG) , intent(in) , contiguous :: mat(:,:)
2996 type(symmetric_type) , intent(in) :: class
2997 logical(LK) :: itis
2998 end function
2999#endif
3000
3001#if LK3_ENABLED
3002 PURE module function isMatClassSymm_LK3(mat, class) result(itis)
3003#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3004 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_LK3
3005#endif
3006 use pm_kind, only: LKG => LK3
3007 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3008 type(symmetric_type) , intent(in) :: class
3009 logical(LK) :: itis
3010 end function
3011#endif
3012
3013#if LK2_ENABLED
3014 PURE module function isMatClassSymm_LK2(mat, class) result(itis)
3015#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3016 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_LK2
3017#endif
3018 use pm_kind, only: LKG => LK2
3019 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3020 type(symmetric_type) , intent(in) :: class
3021 logical(LK) :: itis
3022 end function
3023#endif
3024
3025#if LK1_ENABLED
3026 PURE module function isMatClassSymm_LK1(mat, class) result(itis)
3027#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3028 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_LK1
3029#endif
3030 use pm_kind, only: LKG => LK1
3031 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3032 type(symmetric_type) , intent(in) :: class
3033 logical(LK) :: itis
3034 end function
3035#endif
3036
3037 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3038
3039#if CK5_ENABLED
3040 PURE module function isMatClassSymm_CK5(mat, class) result(itis)
3041#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3042 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_CK5
3043#endif
3044 use pm_kind, only: CKG => CK5
3045 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3046 type(symmetric_type) , intent(in) :: class
3047 logical(LK) :: itis
3048 end function
3049#endif
3050
3051#if CK4_ENABLED
3052 PURE module function isMatClassSymm_CK4(mat, class) result(itis)
3053#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3054 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_CK4
3055#endif
3056 use pm_kind, only: CKG => CK4
3057 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3058 type(symmetric_type) , intent(in) :: class
3059 logical(LK) :: itis
3060 end function
3061#endif
3062
3063#if CK3_ENABLED
3064 PURE module function isMatClassSymm_CK3(mat, class) result(itis)
3065#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3066 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_CK3
3067#endif
3068 use pm_kind, only: CKG => CK3
3069 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3070 type(symmetric_type) , intent(in) :: class
3071 logical(LK) :: itis
3072 end function
3073#endif
3074
3075#if CK2_ENABLED
3076 PURE module function isMatClassSymm_CK2(mat, class) result(itis)
3077#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3078 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_CK2
3079#endif
3080 use pm_kind, only: CKG => CK2
3081 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3082 type(symmetric_type) , intent(in) :: class
3083 logical(LK) :: itis
3084 end function
3085#endif
3086
3087#if CK1_ENABLED
3088 PURE module function isMatClassSymm_CK1(mat, class) result(itis)
3089#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3090 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_CK1
3091#endif
3092 use pm_kind, only: CKG => CK1
3093 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3094 type(symmetric_type) , intent(in) :: class
3095 logical(LK) :: itis
3096 end function
3097#endif
3098
3099 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3100
3101#if RK5_ENABLED
3102 PURE module function isMatClassSymm_RK5(mat, class) result(itis)
3103#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3104 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_RK5
3105#endif
3106 use pm_kind, only: RKG => RK5
3107 real(RKG) , intent(in) , contiguous :: mat(:,:)
3108 type(symmetric_type) , intent(in) :: class
3109 logical(LK) :: itis
3110 end function
3111#endif
3112
3113#if RK4_ENABLED
3114 PURE module function isMatClassSymm_RK4(mat, class) result(itis)
3115#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3116 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_RK4
3117#endif
3118 use pm_kind, only: RKG => RK4
3119 real(RKG) , intent(in) , contiguous :: mat(:,:)
3120 type(symmetric_type) , intent(in) :: class
3121 logical(LK) :: itis
3122 end function
3123#endif
3124
3125#if RK3_ENABLED
3126 PURE module function isMatClassSymm_RK3(mat, class) result(itis)
3127#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3128 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_RK3
3129#endif
3130 use pm_kind, only: RKG => RK3
3131 real(RKG) , intent(in) , contiguous :: mat(:,:)
3132 type(symmetric_type) , intent(in) :: class
3133 logical(LK) :: itis
3134 end function
3135#endif
3136
3137#if RK2_ENABLED
3138 PURE module function isMatClassSymm_RK2(mat, class) result(itis)
3139#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3140 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_RK2
3141#endif
3142 use pm_kind, only: RKG => RK2
3143 real(RKG) , intent(in) , contiguous :: mat(:,:)
3144 type(symmetric_type) , intent(in) :: class
3145 logical(LK) :: itis
3146 end function
3147#endif
3148
3149#if RK1_ENABLED
3150 PURE module function isMatClassSymm_RK1(mat, class) result(itis)
3151#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3152 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassSymm_RK1
3153#endif
3154 use pm_kind, only: RKG => RK1
3155 real(RKG) , intent(in) , contiguous :: mat(:,:)
3156 type(symmetric_type) , intent(in) :: class
3157 logical(LK) :: itis
3158 end function
3159#endif
3160
3161 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3162
3163 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3164 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3165 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3166
3167 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3168
3169#if SK5_ENABLED
3170 PURE module function isMatClassHerm_SK5(mat, class) result(itis)
3171#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3172 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_SK5
3173#endif
3174 use pm_kind, only: SKG => SK5
3175 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
3176 type(hermitian_type) , intent(in) :: class
3177 logical(LK) :: itis
3178 end function
3179#endif
3180
3181#if SK4_ENABLED
3182 PURE module function isMatClassHerm_SK4(mat, class) result(itis)
3183#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3184 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_SK4
3185#endif
3186 use pm_kind, only: SKG => SK4
3187 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
3188 type(hermitian_type) , intent(in) :: class
3189 logical(LK) :: itis
3190 end function
3191#endif
3192
3193#if SK3_ENABLED
3194 PURE module function isMatClassHerm_SK3(mat, class) result(itis)
3195#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3196 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_SK3
3197#endif
3198 use pm_kind, only: SKG => SK3
3199 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
3200 type(hermitian_type) , intent(in) :: class
3201 logical(LK) :: itis
3202 end function
3203#endif
3204
3205#if SK2_ENABLED
3206 PURE module function isMatClassHerm_SK2(mat, class) result(itis)
3207#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3208 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_SK2
3209#endif
3210 use pm_kind, only: SKG => SK2
3211 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
3212 type(hermitian_type) , intent(in) :: class
3213 logical(LK) :: itis
3214 end function
3215#endif
3216
3217#if SK1_ENABLED
3218 PURE module function isMatClassHerm_SK1(mat, class) result(itis)
3219#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3220 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_SK1
3221#endif
3222 use pm_kind, only: SKG => SK1
3223 character(*,SKG) , intent(in) , contiguous :: mat(:,:)
3224 type(hermitian_type) , intent(in) :: class
3225 logical(LK) :: itis
3226 end function
3227#endif
3228
3229 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3230
3231#if IK5_ENABLED
3232 PURE module function isMatClassHerm_IK5(mat, class) result(itis)
3233#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3234 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_IK5
3235#endif
3236 use pm_kind, only: IKG => IK5
3237 integer(IKG) , intent(in) , contiguous :: mat(:,:)
3238 type(hermitian_type) , intent(in) :: class
3239 logical(LK) :: itis
3240 end function
3241#endif
3242
3243#if IK4_ENABLED
3244 PURE module function isMatClassHerm_IK4(mat, class) result(itis)
3245#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3246 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_IK4
3247#endif
3248 use pm_kind, only: IKG => IK4
3249 integer(IKG) , intent(in) , contiguous :: mat(:,:)
3250 type(hermitian_type) , intent(in) :: class
3251 logical(LK) :: itis
3252 end function
3253#endif
3254
3255#if IK3_ENABLED
3256 PURE module function isMatClassHerm_IK3(mat, class) result(itis)
3257#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3258 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_IK3
3259#endif
3260 use pm_kind, only: IKG => IK3
3261 integer(IKG) , intent(in) , contiguous :: mat(:,:)
3262 type(hermitian_type) , intent(in) :: class
3263 logical(LK) :: itis
3264 end function
3265#endif
3266
3267#if IK2_ENABLED
3268 PURE module function isMatClassHerm_IK2(mat, class) result(itis)
3269#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3270 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_IK2
3271#endif
3272 use pm_kind, only: IKG => IK2
3273 integer(IKG) , intent(in) , contiguous :: mat(:,:)
3274 type(hermitian_type) , intent(in) :: class
3275 logical(LK) :: itis
3276 end function
3277#endif
3278
3279#if IK1_ENABLED
3280 PURE module function isMatClassHerm_IK1(mat, class) result(itis)
3281#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3282 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_IK1
3283#endif
3284 use pm_kind, only: IKG => IK1
3285 integer(IKG) , intent(in) , contiguous :: mat(:,:)
3286 type(hermitian_type) , intent(in) :: class
3287 logical(LK) :: itis
3288 end function
3289#endif
3290
3291 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3292
3293#if LK5_ENABLED
3294 PURE module function isMatClassHerm_LK5(mat, class) result(itis)
3295#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3296 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_LK5
3297#endif
3298 use pm_kind, only: LKG => LK5
3299 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3300 type(hermitian_type) , intent(in) :: class
3301 logical(LK) :: itis
3302 end function
3303#endif
3304
3305#if LK4_ENABLED
3306 PURE module function isMatClassHerm_LK4(mat, class) result(itis)
3307#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3308 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_LK4
3309#endif
3310 use pm_kind, only: LKG => LK4
3311 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3312 type(hermitian_type) , intent(in) :: class
3313 logical(LK) :: itis
3314 end function
3315#endif
3316
3317#if LK3_ENABLED
3318 PURE module function isMatClassHerm_LK3(mat, class) result(itis)
3319#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3320 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_LK3
3321#endif
3322 use pm_kind, only: LKG => LK3
3323 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3324 type(hermitian_type) , intent(in) :: class
3325 logical(LK) :: itis
3326 end function
3327#endif
3328
3329#if LK2_ENABLED
3330 PURE module function isMatClassHerm_LK2(mat, class) result(itis)
3331#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3332 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_LK2
3333#endif
3334 use pm_kind, only: LKG => LK2
3335 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3336 type(hermitian_type) , intent(in) :: class
3337 logical(LK) :: itis
3338 end function
3339#endif
3340
3341#if LK1_ENABLED
3342 PURE module function isMatClassHerm_LK1(mat, class) result(itis)
3343#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3344 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_LK1
3345#endif
3346 use pm_kind, only: LKG => LK1
3347 logical(LKG) , intent(in) , contiguous :: mat(:,:)
3348 type(hermitian_type) , intent(in) :: class
3349 logical(LK) :: itis
3350 end function
3351#endif
3352
3353 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3354
3355#if CK5_ENABLED
3356 PURE module function isMatClassHerm_CK5(mat, class) result(itis)
3357#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3358 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_CK5
3359#endif
3360 use pm_kind, only: CKG => CK5
3361 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3362 type(hermitian_type) , intent(in) :: class
3363 logical(LK) :: itis
3364 end function
3365#endif
3366
3367#if CK4_ENABLED
3368 PURE module function isMatClassHerm_CK4(mat, class) result(itis)
3369#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3370 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_CK4
3371#endif
3372 use pm_kind, only: CKG => CK4
3373 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3374 type(hermitian_type) , intent(in) :: class
3375 logical(LK) :: itis
3376 end function
3377#endif
3378
3379#if CK3_ENABLED
3380 PURE module function isMatClassHerm_CK3(mat, class) result(itis)
3381#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3382 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_CK3
3383#endif
3384 use pm_kind, only: CKG => CK3
3385 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3386 type(hermitian_type) , intent(in) :: class
3387 logical(LK) :: itis
3388 end function
3389#endif
3390
3391#if CK2_ENABLED
3392 PURE module function isMatClassHerm_CK2(mat, class) result(itis)
3393#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3394 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_CK2
3395#endif
3396 use pm_kind, only: CKG => CK2
3397 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3398 type(hermitian_type) , intent(in) :: class
3399 logical(LK) :: itis
3400 end function
3401#endif
3402
3403#if CK1_ENABLED
3404 PURE module function isMatClassHerm_CK1(mat, class) result(itis)
3405#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3406 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_CK1
3407#endif
3408 use pm_kind, only: CKG => CK1
3409 complex(CKG) , intent(in) , contiguous :: mat(:,:)
3410 type(hermitian_type) , intent(in) :: class
3411 logical(LK) :: itis
3412 end function
3413#endif
3414
3415 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3416
3417#if RK5_ENABLED
3418 PURE module function isMatClassHerm_RK5(mat, class) result(itis)
3419#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3420 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_RK5
3421#endif
3422 use pm_kind, only: RKG => RK5
3423 real(RKG) , intent(in) , contiguous :: mat(:,:)
3424 type(hermitian_type) , intent(in) :: class
3425 logical(LK) :: itis
3426 end function
3427#endif
3428
3429#if RK4_ENABLED
3430 PURE module function isMatClassHerm_RK4(mat, class) result(itis)
3431#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3432 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_RK4
3433#endif
3434 use pm_kind, only: RKG => RK4
3435 real(RKG) , intent(in) , contiguous :: mat(:,:)
3436 type(hermitian_type) , intent(in) :: class
3437 logical(LK) :: itis
3438 end function
3439#endif
3440
3441#if RK3_ENABLED
3442 PURE module function isMatClassHerm_RK3(mat, class) result(itis)
3443#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3444 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_RK3
3445#endif
3446 use pm_kind, only: RKG => RK3
3447 real(RKG) , intent(in) , contiguous :: mat(:,:)
3448 type(hermitian_type) , intent(in) :: class
3449 logical(LK) :: itis
3450 end function
3451#endif
3452
3453#if RK2_ENABLED
3454 PURE module function isMatClassHerm_RK2(mat, class) result(itis)
3455#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3456 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_RK2
3457#endif
3458 use pm_kind, only: RKG => RK2
3459 real(RKG) , intent(in) , contiguous :: mat(:,:)
3460 type(hermitian_type) , intent(in) :: class
3461 logical(LK) :: itis
3462 end function
3463#endif
3464
3465#if RK1_ENABLED
3466 PURE module function isMatClassHerm_RK1(mat, class) result(itis)
3467#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
3468 !DEC$ ATTRIBUTES DLLEXPORT :: isMatClassHerm_RK1
3469#endif
3470 use pm_kind, only: RKG => RK1
3471 real(RKG) , intent(in) , contiguous :: mat(:,:)
3472 type(hermitian_type) , intent(in) :: class
3473 logical(LK) :: itis
3474 end function
3475#endif
3476
3477 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3478
3479 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3480 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3481 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3482
3483 end interface
3484
3485!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3486
3487end module pm_matrixClass ! LCOV_EXCL_LINE
Generate and return .true. if and only if the input matrix is of the specified input class.
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK5
Definition: pm_kind.F90:326
integer, parameter LK1
Definition: pm_kind.F90:412
integer, parameter IK3
Definition: pm_kind.F90:368
integer, parameter RK5
Definition: pm_kind.F90:478
integer, parameter RK4
Definition: pm_kind.F90:489
integer, parameter SK1
Definition: pm_kind.F90:346
integer, parameter IK1
Definition: pm_kind.F90:382
integer, parameter LK5
Definition: pm_kind.F90:392
integer, parameter RK2
Definition: pm_kind.F90:511
integer, parameter CK1
Definition: pm_kind.F90:464
integer, parameter RK3
Definition: pm_kind.F90:500
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter LK2
Definition: pm_kind.F90:407
integer, parameter LK4
Definition: pm_kind.F90:397
integer, parameter CK5
Definition: pm_kind.F90:420
integer, parameter CK4
Definition: pm_kind.F90:431
integer, parameter SK4
Definition: pm_kind.F90:331
integer, parameter LK3
Definition: pm_kind.F90:402
integer, parameter IK2
Definition: pm_kind.F90:375
integer, parameter CK2
Definition: pm_kind.F90:453
integer, parameter SK2
Definition: pm_kind.F90:341
integer, parameter CK3
Definition: pm_kind.F90:442
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 IK4
Definition: pm_kind.F90:361
integer, parameter IK5
Definition: pm_kind.F90:354
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RK1
Definition: pm_kind.F90:522
integer, parameter SK3
Definition: pm_kind.F90:336
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(symmetric_type), parameter symmetric
This is a scalar parameter object of type symmetric_type that is exclusively used to signify the Symm...
type(choUpp_type), parameter choUpp
This is a scalar parameter object of type cholesky_type that is exclusively used to signify upper-tri...
type(square_type), parameter square
This is a scalar parameter object of type square_type that is exclusively used to signify the Square ...
type(genrecmat_type), parameter genrecmat
This is a scalar parameter object of type genrecmat_type that is exclusively used to signify the gene...
type(factoring_type), parameter factoring
This is a scalar parameter object of type factoring_type that is exclusively used to signify the Fact...
type(invertible_type), parameter invertible
This is a scalar parameter object of type invertible_type that is exclusively used to signify the Inv...
type(posdefmat_type), parameter posdefmat
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
type(frobenius_type), parameter frobenius
This is a scalar parameter object of type frobenius_type that is exclusively used to signify the atom...
type(atomicTriang_type), parameter atomicTriang
This is a scalar parameter object of type atomicTriang_type that is exclusively used to signify the a...
type(gauss_type), parameter gauss
This is a scalar parameter object of type gauss_type that is exclusively used to signify the atomic-t...
character(*, SK), parameter MODULE_NAME
type(lowerUnit_type), parameter lowerUnit
This is a scalar parameter object of type upperUnit_type that is exclusively used to signify the lowe...
type(upperZero_type), parameter upperZero
This is a scalar parameter object of type upperUnit_type that is exclusively used to signify the uppe...
type(lowerZero_type), parameter lowerZero
This is a scalar parameter object of type lowerUnit_type that is exclusively used to signify the lowe...
type(upperUnit_type), parameter upperUnit
This is a scalar parameter object of type upperUnit_type that is exclusively used to signify the uppe...
type(triang_type), parameter triang
This is a scalar parameter object of type triang_type that is exclusively used to signify the triangu...
type(unitTriang_type), parameter unitTriang
This is a scalar parameter object of type unitTriang_type that is exclusively used to signify the uni...
type(upperDiag_type), parameter upperDiag
This is a scalar parameter object of type upperDiag_type that is exclusively used to signify the uppe...
type(hermitian_type), parameter hermitian
This is a scalar parameter object of type hermitian_type that is exclusively used to signify the Herm...
type(lowerDiag_type), parameter lowerDiag
This is a scalar parameter object of type lowerDiag_type that is exclusively used to signify the lowe...
type(cholesky_type), parameter cholesky
This is a scalar parameter object of type cholesky_type that is exclusively used to signify the Chole...
type(lup_type), parameter lup
This is a scalar parameter object of type lup_type that is exclusively used to signify the LUP Factor...
type(choLow_type), parameter choLow
This is a scalar parameter object of type cholesky_type that is exclusively used to signify lower-tri...
This module contains abstract and concrete derived types that are required for compile-time resolutio...
type(rdpack_type), parameter rdpack
This is an object instance of class rdpack_type that is exclusively used to signify Rectangular Spars...
type(rfpack_type), parameter rfpack
This is an object instance of class rfpack_type that is exclusively used to signify Rectangular Full ...
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(uppDia_type), parameter uppDia
This is a scalar parameter object of type uppDia_type that is exclusively used to request upper-diago...
This is a concrete derived type whose instances are exclusively used to signify the atomic-triangular...
This is a concrete derived type whose instances are exclusively used to signify the lower-triangle Ch...
This is a concrete derived type whose instances are exclusively used to signify the upper-triangle Ch...
This is a concrete derived type whose instances are exclusively used to signify the Cholesky Factoriz...
This is a concrete derived type whose instances are exclusively used to signify the Factorization cla...
This is a concrete derived type whose instances are exclusively used to signify the frobenius class o...
This is a concrete derived type whose instances are exclusively used to signify the Gauss-Transformat...
This is a concrete derived type whose instances are exclusively used to signify the general rectangul...
This is a concrete derived type whose instances are exclusively used to signify the Hermitian class o...
This is a concrete derived type whose instances are exclusively used to signify the Invertible class ...
This is a concrete derived type whose instances are exclusively used to signify the lower-diagonal tr...
This is a concrete derived type whose instances are exclusively used to signify the lower-unit-diagon...
This is a concrete derived type whose instances are exclusively used to signify the lower-zero-diagon...
This is a concrete derived type whose instances are exclusively used to signify the LUP Factorization...
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
This is a concrete derived type whose instances are exclusively used to signify the Hermitian Positiv...
This is a concrete derived type whose instances are exclusively used to signify the Square class of a...
This is a concrete derived type whose instances are exclusively used to signify the Symmetric class o...
This is a concrete derived type whose instances are exclusively used to signify the triangular class ...
This is a concrete derived type whose instances are exclusively used to signify the unit-triangular c...
This is a concrete derived type whose instances are exclusively used to signify the upper-diagonal tr...
This is a concrete derived type whose instances are exclusively used to signify the upper-unit-diagon...
This is a concrete derived type whose instances are exclusively used to signify the upper-zero-diagon...
This is a concrete derived type whose instances are exclusively used to signify Rectangular Sparse (o...
This is a concrete derived type whose instances are exclusively used to signify Rectangular Full cont...
This is a concrete derived type whose instances are exclusively used to request lower-diagonal triang...
This is a concrete derived type whose instances are exclusively used to request upper-diagonal triang...