You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

alaerh.f 38 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147
  1. *> \brief \b ALAERH
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. * Definition:
  9. * ===========
  10. *
  11. * SUBROUTINE ALAERH( PATH, SUBNAM, INFO, INFOE, OPTS, M, N, KL, KU,
  12. * N5, IMAT, NFAIL, NERRS, NOUT )
  13. *
  14. * .. Scalar Arguments ..
  15. * CHARACTER*3 PATH
  16. * CHARACTER*( * ) SUBNAM
  17. * CHARACTER*( * ) OPTS
  18. * INTEGER IMAT, INFO, INFOE, KL, KU, M, N, N5, NERRS,
  19. * $ NFAIL, NOUT
  20. * ..
  21. *
  22. *
  23. *> \par Purpose:
  24. * =============
  25. *>
  26. *> \verbatim
  27. *>
  28. *> ALAERH is an error handler for the LAPACK routines. It prints the
  29. *> header if this is the first error message and prints the error code
  30. *> and form of recovery, if any. The character evaluations in this
  31. *> routine may make it slow, but it should not be called once the LAPACK
  32. *> routines are fully debugged.
  33. *> \endverbatim
  34. *
  35. * Arguments:
  36. * ==========
  37. *
  38. *> \param[in] PATH
  39. *> \verbatim
  40. *> PATH is CHARACTER*3
  41. *> The LAPACK path name of subroutine SUBNAM.
  42. *> \endverbatim
  43. *>
  44. *> \param[in] SUBNAM
  45. *> \verbatim
  46. *> SUBNAM is CHARACTER*(*)
  47. *> The name of the subroutine that returned an error code.
  48. *> \endverbatim
  49. *>
  50. *> \param[in] INFO
  51. *> \verbatim
  52. *> INFO is INTEGER
  53. *> The error code returned from routine SUBNAM.
  54. *> \endverbatim
  55. *>
  56. *> \param[in] INFOE
  57. *> \verbatim
  58. *> INFOE is INTEGER
  59. *> The expected error code from routine SUBNAM, if SUBNAM were
  60. *> error-free. If INFOE = 0, an error message is printed, but
  61. *> if INFOE.NE.0, we assume only the return code INFO is wrong.
  62. *> \endverbatim
  63. *>
  64. *> \param[in] OPTS
  65. *> \verbatim
  66. *> OPTS is CHARACTER*(*)
  67. *> The character options to the subroutine SUBNAM, concatenated
  68. *> into a single character string. For example, UPLO = 'U',
  69. *> TRANS = 'T', and DIAG = 'N' for a triangular routine would
  70. *> be specified as OPTS = 'UTN'.
  71. *> \endverbatim
  72. *>
  73. *> \param[in] M
  74. *> \verbatim
  75. *> M is INTEGER
  76. *> The matrix row dimension.
  77. *> \endverbatim
  78. *>
  79. *> \param[in] N
  80. *> \verbatim
  81. *> N is INTEGER
  82. *> The matrix column dimension. Accessed only if PATH = xGE or
  83. *> xGB.
  84. *> \endverbatim
  85. *>
  86. *> \param[in] KL
  87. *> \verbatim
  88. *> KL is INTEGER
  89. *> The number of sub-diagonals of the matrix. Accessed only if
  90. *> PATH = xGB, xPB, or xTB. Also used for NRHS for PATH = xLS.
  91. *> \endverbatim
  92. *>
  93. *> \param[in] KU
  94. *> \verbatim
  95. *> KU is INTEGER
  96. *> The number of super-diagonals of the matrix. Accessed only
  97. *> if PATH = xGB.
  98. *> \endverbatim
  99. *>
  100. *> \param[in] N5
  101. *> \verbatim
  102. *> N5 is INTEGER
  103. *> A fifth integer parameter, may be the blocksize NB or the
  104. *> number of right hand sides NRHS.
  105. *> \endverbatim
  106. *>
  107. *> \param[in] IMAT
  108. *> \verbatim
  109. *> IMAT is INTEGER
  110. *> The matrix type.
  111. *> \endverbatim
  112. *>
  113. *> \param[in] NFAIL
  114. *> \verbatim
  115. *> NFAIL is INTEGER
  116. *> The number of prior tests that did not pass the threshold;
  117. *> used to determine if the header should be printed.
  118. *> \endverbatim
  119. *>
  120. *> \param[in,out] NERRS
  121. *> \verbatim
  122. *> NERRS is INTEGER
  123. *> On entry, the number of errors already detected; used to
  124. *> determine if the header should be printed.
  125. *> On exit, NERRS is increased by 1.
  126. *> \endverbatim
  127. *>
  128. *> \param[in] NOUT
  129. *> \verbatim
  130. *> NOUT is INTEGER
  131. *> The unit number on which results are to be printed.
  132. *> \endverbatim
  133. *
  134. * Authors:
  135. * ========
  136. *
  137. *> \author Univ. of Tennessee
  138. *> \author Univ. of California Berkeley
  139. *> \author Univ. of Colorado Denver
  140. *> \author NAG Ltd.
  141. *
  142. *> \date November 2013
  143. *
  144. *> \ingroup aux_lin
  145. *
  146. * =====================================================================
  147. SUBROUTINE ALAERH( PATH, SUBNAM, INFO, INFOE, OPTS, M, N, KL, KU,
  148. $ N5, IMAT, NFAIL, NERRS, NOUT )
  149. *
  150. * -- LAPACK test routine (version 3.5.0) --
  151. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  152. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  153. * November 2013
  154. *
  155. * .. Scalar Arguments ..
  156. CHARACTER*3 PATH
  157. CHARACTER*( * ) SUBNAM
  158. CHARACTER*( * ) OPTS
  159. INTEGER IMAT, INFO, INFOE, KL, KU, M, N, N5, NERRS,
  160. $ NFAIL, NOUT
  161. * ..
  162. *
  163. * =====================================================================
  164. *
  165. * .. Local Scalars ..
  166. CHARACTER UPLO
  167. CHARACTER*2 P2
  168. CHARACTER*3 C3
  169. * ..
  170. * .. External Functions ..
  171. LOGICAL LSAME, LSAMEN
  172. EXTERNAL LSAME, LSAMEN
  173. * ..
  174. * .. Intrinsic Functions ..
  175. INTRINSIC LEN_TRIM
  176. * ..
  177. * .. External Subroutines ..
  178. EXTERNAL ALADHD, ALAHD
  179. * ..
  180. * .. Executable Statements ..
  181. *
  182. IF( INFO.EQ.0 )
  183. $ RETURN
  184. P2 = PATH( 2: 3 )
  185. C3 = SUBNAM( 4: 6 )
  186. *
  187. * Print the header if this is the first error message.
  188. *
  189. IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) THEN
  190. IF( LSAMEN( 3, C3, 'SV ' ) .OR. LSAMEN( 3, C3, 'SVX' ) ) THEN
  191. CALL ALADHD( NOUT, PATH )
  192. ELSE
  193. CALL ALAHD( NOUT, PATH )
  194. END IF
  195. END IF
  196. NERRS = NERRS + 1
  197. *
  198. * Print the message detailing the error and form of recovery,
  199. * if any.
  200. *
  201. IF( LSAMEN( 2, P2, 'GE' ) ) THEN
  202. *
  203. * xGE: General matrices
  204. *
  205. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  206. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  207. WRITE( NOUT, FMT = 9988 )
  208. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, N5,
  209. $ IMAT
  210. ELSE
  211. WRITE( NOUT, FMT = 9975 )
  212. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, N5, IMAT
  213. END IF
  214. IF( INFO.NE.0 )
  215. $ WRITE( NOUT, FMT = 9949 )
  216. *
  217. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  218. *
  219. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  220. WRITE( NOUT, FMT = 9984 )
  221. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5,
  222. $ IMAT
  223. ELSE
  224. WRITE( NOUT, FMT = 9970 )
  225. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT
  226. END IF
  227. *
  228. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  229. *
  230. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  231. WRITE( NOUT, FMT = 9992 )
  232. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  233. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  234. ELSE
  235. WRITE( NOUT, FMT = 9997 )
  236. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  237. $ OPTS( 2: 2 ), N, N5, IMAT
  238. END IF
  239. *
  240. ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  241. *
  242. WRITE( NOUT, FMT = 9971 )
  243. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT
  244. *
  245. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  246. *
  247. WRITE( NOUT, FMT = 9978 )
  248. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  249. *
  250. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  251. *
  252. WRITE( NOUT, FMT = 9969 )
  253. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M,
  254. $ IMAT
  255. *
  256. ELSE IF( LSAMEN( 3, C3, 'LS ' ) ) THEN
  257. *
  258. WRITE( NOUT, FMT = 9965 )
  259. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N,
  260. $ KL, N5, IMAT
  261. *
  262. ELSE IF( LSAMEN( 3, C3, 'LSX' ) .OR. LSAMEN( 3, C3, 'LSS' ) )
  263. $ THEN
  264. *
  265. WRITE( NOUT, FMT = 9974 )
  266. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  267. *
  268. ELSE
  269. *
  270. WRITE( NOUT, FMT = 9963 )
  271. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5,
  272. $ IMAT
  273. END IF
  274. *
  275. ELSE IF( LSAMEN( 2, P2, 'GB' ) ) THEN
  276. *
  277. * xGB: General band matrices
  278. *
  279. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  280. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  281. WRITE( NOUT, FMT = 9989 )
  282. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, KL,
  283. $ KU, N5, IMAT
  284. ELSE
  285. WRITE( NOUT, FMT = 9976 )
  286. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, KU, N5,
  287. $ IMAT
  288. END IF
  289. IF( INFO.NE.0 )
  290. $ WRITE( NOUT, FMT = 9949 )
  291. *
  292. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  293. *
  294. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  295. WRITE( NOUT, FMT = 9986 )
  296. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, KL, KU,
  297. $ N5, IMAT
  298. ELSE
  299. WRITE( NOUT, FMT = 9972 )
  300. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, KL, KU, N5,
  301. $ IMAT
  302. END IF
  303. *
  304. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  305. *
  306. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  307. WRITE( NOUT, FMT = 9993 )
  308. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  309. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, KU, N5, IMAT
  310. ELSE
  311. WRITE( NOUT, FMT = 9998 )
  312. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  313. $ OPTS( 2: 2 ), N, KL, KU, N5, IMAT
  314. END IF
  315. *
  316. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  317. *
  318. WRITE( NOUT, FMT = 9977 )
  319. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, KU, IMAT
  320. *
  321. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  322. *
  323. WRITE( NOUT, FMT = 9968 )
  324. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, KL,
  325. $ KU, IMAT
  326. *
  327. ELSE
  328. *
  329. WRITE( NOUT, FMT = 9964 )
  330. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, KL,
  331. $ KU, N5, IMAT
  332. END IF
  333. *
  334. ELSE IF( LSAMEN( 2, P2, 'GT' ) ) THEN
  335. *
  336. * xGT: General tridiagonal matrices
  337. *
  338. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  339. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  340. WRITE( NOUT, FMT = 9987 )
  341. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, IMAT
  342. ELSE
  343. WRITE( NOUT, FMT = 9973 )
  344. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, IMAT
  345. END IF
  346. IF( INFO.NE.0 )
  347. $ WRITE( NOUT, FMT = 9949 )
  348. *
  349. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  350. *
  351. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  352. WRITE( NOUT, FMT = 9984 )
  353. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5,
  354. $ IMAT
  355. ELSE
  356. WRITE( NOUT, FMT = 9970 )
  357. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT
  358. END IF
  359. *
  360. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  361. *
  362. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  363. WRITE( NOUT, FMT = 9992 )
  364. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  365. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  366. ELSE
  367. WRITE( NOUT, FMT = 9997 )
  368. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  369. $ OPTS( 2: 2 ), N, N5, IMAT
  370. END IF
  371. *
  372. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  373. *
  374. WRITE( NOUT, FMT = 9969 )
  375. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M,
  376. $ IMAT
  377. *
  378. ELSE
  379. *
  380. WRITE( NOUT, FMT = 9963 )
  381. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5,
  382. $ IMAT
  383. END IF
  384. *
  385. ELSE IF( LSAMEN( 2, P2, 'PO' ) ) THEN
  386. *
  387. * xPO: Symmetric or Hermitian positive definite matrices
  388. *
  389. UPLO = OPTS( 1: 1 )
  390. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  391. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  392. WRITE( NOUT, FMT = 9980 )
  393. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  394. $ N5, IMAT
  395. ELSE
  396. WRITE( NOUT, FMT = 9956 )
  397. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  398. END IF
  399. IF( INFO.NE.0 )
  400. $ WRITE( NOUT, FMT = 9949 )
  401. *
  402. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  403. *
  404. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  405. WRITE( NOUT, FMT = 9979 )
  406. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  407. $ N5, IMAT
  408. ELSE
  409. WRITE( NOUT, FMT = 9955 )
  410. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT
  411. END IF
  412. *
  413. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  414. *
  415. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  416. WRITE( NOUT, FMT = 9990 )
  417. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  418. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  419. ELSE
  420. WRITE( NOUT, FMT = 9995 )
  421. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  422. $ OPTS( 2: 2 ), N, N5, IMAT
  423. END IF
  424. *
  425. ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  426. *
  427. WRITE( NOUT, FMT = 9956 )
  428. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  429. *
  430. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  431. $ LSAMEN( 3, C3, 'CON' ) ) THEN
  432. *
  433. WRITE( NOUT, FMT = 9960 )
  434. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  435. *
  436. ELSE
  437. *
  438. WRITE( NOUT, FMT = 9955 )
  439. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  440. END IF
  441. *
  442. ELSE IF( LSAMEN( 2, P2, 'PS' ) ) THEN
  443. *
  444. * xPS: Symmetric or Hermitian positive semi-definite matrices
  445. *
  446. UPLO = OPTS( 1: 1 )
  447. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  448. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  449. WRITE( NOUT, FMT = 9980 )SUBNAM, INFO, INFOE, UPLO, M,
  450. $ N5, IMAT
  451. ELSE
  452. WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT
  453. END IF
  454. IF( INFO.NE.0 )
  455. $ WRITE( NOUT, FMT = 9949 )
  456. *
  457. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  458. *
  459. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  460. WRITE( NOUT, FMT = 9979 )SUBNAM, INFO, INFOE, UPLO, N,
  461. $ N5, IMAT
  462. ELSE
  463. WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, N, N5, IMAT
  464. END IF
  465. *
  466. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  467. *
  468. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  469. WRITE( NOUT, FMT = 9990 )SUBNAM, INFO, INFOE,
  470. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  471. ELSE
  472. WRITE( NOUT, FMT = 9995 )SUBNAM, INFO, OPTS( 1: 1 ),
  473. $ OPTS( 2: 2 ), N, N5, IMAT
  474. END IF
  475. *
  476. ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  477. *
  478. WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT
  479. *
  480. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMT' ) .OR.
  481. $ LSAMEN( 3, C3, 'CON' ) ) THEN
  482. *
  483. WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT
  484. *
  485. ELSE
  486. *
  487. WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, M, N5, IMAT
  488. END IF
  489. *
  490. ELSE IF( LSAMEN( 2, P2, 'SY' )
  491. $ .OR. LSAMEN( 2, P2, 'SR' )
  492. $ .OR. LSAMEN( 2, P2, 'HE' )
  493. $ .OR. LSAMEN( 2, P2, 'HR' ) ) THEN
  494. *
  495. * xSY: symmetric indefinite matrices
  496. * with partial (Bunch-Kaufman) pivoting;
  497. * xSR: symmetric indefinite matrices
  498. * with rook (bounded Bunch-Kaufman) pivoting;
  499. * xHE: Hermitian indefinite matrices
  500. * with partial (Bunch-Kaufman) pivoting.
  501. * xHR: Hermitian indefinite matrices
  502. * with rook (bounded Bunch-Kaufman) pivoting;
  503. *
  504. UPLO = OPTS( 1: 1 )
  505. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  506. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  507. WRITE( NOUT, FMT = 9980 )
  508. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  509. $ N5, IMAT
  510. ELSE
  511. WRITE( NOUT, FMT = 9956 )
  512. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  513. END IF
  514. IF( INFO.NE.0 )
  515. $ WRITE( NOUT, FMT = 9949 )
  516. *
  517. ELSE IF( LSAMEN( 2, C3, 'SV' ) ) THEN
  518. *
  519. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  520. WRITE( NOUT, FMT = 9979 )
  521. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  522. $ N5, IMAT
  523. ELSE
  524. WRITE( NOUT, FMT = 9955 )
  525. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT
  526. END IF
  527. *
  528. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  529. *
  530. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  531. WRITE( NOUT, FMT = 9990 )
  532. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  533. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  534. ELSE
  535. WRITE( NOUT, FMT = 9995 )
  536. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  537. $ OPTS( 2: 2 ), N, N5, IMAT
  538. END IF
  539. *
  540. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  541. $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
  542. $ THEN
  543. *
  544. WRITE( NOUT, FMT = 9960 )
  545. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  546. *
  547. ELSE
  548. *
  549. WRITE( NOUT, FMT = 9955 )
  550. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  551. END IF
  552. *
  553. ELSE IF( LSAMEN( 2, P2, 'PP' ) .OR. LSAMEN( 2, P2, 'SP' ) .OR.
  554. $ LSAMEN( 2, P2, 'HP' ) ) THEN
  555. *
  556. * xPP, xHP, or xSP: Symmetric or Hermitian packed matrices
  557. *
  558. UPLO = OPTS( 1: 1 )
  559. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  560. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  561. WRITE( NOUT, FMT = 9983 )
  562. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  563. $ IMAT
  564. ELSE
  565. WRITE( NOUT, FMT = 9960 )
  566. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  567. END IF
  568. IF( INFO.NE.0 )
  569. $ WRITE( NOUT, FMT = 9949 )
  570. *
  571. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  572. *
  573. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  574. WRITE( NOUT, FMT = 9979 )
  575. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  576. $ N5, IMAT
  577. ELSE
  578. WRITE( NOUT, FMT = 9955 )
  579. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT
  580. END IF
  581. *
  582. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  583. *
  584. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  585. WRITE( NOUT, FMT = 9990 )
  586. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  587. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  588. ELSE
  589. WRITE( NOUT, FMT = 9995 )
  590. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  591. $ OPTS( 2: 2 ), N, N5, IMAT
  592. END IF
  593. *
  594. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  595. $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
  596. $ THEN
  597. *
  598. WRITE( NOUT, FMT = 9960 )
  599. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  600. *
  601. ELSE
  602. *
  603. WRITE( NOUT, FMT = 9955 )
  604. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  605. END IF
  606. *
  607. ELSE IF( LSAMEN( 2, P2, 'PB' ) ) THEN
  608. *
  609. * xPB: Symmetric (Hermitian) positive definite band matrix
  610. *
  611. UPLO = OPTS( 1: 1 )
  612. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  613. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  614. WRITE( NOUT, FMT = 9982 )
  615. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  616. $ KL, N5, IMAT
  617. ELSE
  618. WRITE( NOUT, FMT = 9958 )
  619. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5,
  620. $ IMAT
  621. END IF
  622. IF( INFO.NE.0 )
  623. $ WRITE( NOUT, FMT = 9949 )
  624. *
  625. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  626. *
  627. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  628. WRITE( NOUT, FMT = 9981 )
  629. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  630. $ KL, N5, IMAT
  631. ELSE
  632. WRITE( NOUT, FMT = 9957 )
  633. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, KL, N5,
  634. $ IMAT
  635. END IF
  636. *
  637. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  638. *
  639. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  640. WRITE( NOUT, FMT = 9991 )
  641. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  642. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, N5, IMAT
  643. ELSE
  644. WRITE( NOUT, FMT = 9996 )
  645. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  646. $ OPTS( 2: 2 ), N, KL, N5, IMAT
  647. END IF
  648. *
  649. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  650. $ LSAMEN( 3, C3, 'CON' ) ) THEN
  651. *
  652. WRITE( NOUT, FMT = 9959 )
  653. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, IMAT
  654. *
  655. ELSE
  656. *
  657. WRITE( NOUT, FMT = 9957 )
  658. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5,
  659. $ IMAT
  660. END IF
  661. *
  662. ELSE IF( LSAMEN( 2, P2, 'PT' ) ) THEN
  663. *
  664. * xPT: Positive definite tridiagonal matrices
  665. *
  666. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  667. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  668. WRITE( NOUT, FMT = 9987 )
  669. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, IMAT
  670. ELSE
  671. WRITE( NOUT, FMT = 9973 )
  672. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, IMAT
  673. END IF
  674. IF( INFO.NE.0 )
  675. $ WRITE( NOUT, FMT = 9949 )
  676. *
  677. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  678. *
  679. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  680. WRITE( NOUT, FMT = 9984 )
  681. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5,
  682. $ IMAT
  683. ELSE
  684. WRITE( NOUT, FMT = 9970 )
  685. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT
  686. END IF
  687. *
  688. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  689. *
  690. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  691. WRITE( NOUT, FMT = 9994 )
  692. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  693. $ OPTS( 1: 1 ), N, N5, IMAT
  694. ELSE
  695. WRITE( NOUT, FMT = 9999 )
  696. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), N,
  697. $ N5, IMAT
  698. END IF
  699. *
  700. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  701. *
  702. IF( LSAME( SUBNAM( 1: 1 ), 'S' ) .OR.
  703. $ LSAME( SUBNAM( 1: 1 ), 'D' ) ) THEN
  704. WRITE( NOUT, FMT = 9973 )
  705. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, IMAT
  706. ELSE
  707. WRITE( NOUT, FMT = 9969 )
  708. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M,
  709. $ IMAT
  710. END IF
  711. *
  712. ELSE
  713. *
  714. WRITE( NOUT, FMT = 9963 )
  715. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5,
  716. $ IMAT
  717. END IF
  718. *
  719. ELSE IF( LSAMEN( 2, P2, 'TR' ) ) THEN
  720. *
  721. * xTR: Triangular matrix
  722. *
  723. IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  724. WRITE( NOUT, FMT = 9961 )
  725. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  726. $ OPTS( 2: 2 ), M, N5, IMAT
  727. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  728. WRITE( NOUT, FMT = 9967 )
  729. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  730. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
  731. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATRS' ) ) THEN
  732. WRITE( NOUT, FMT = 9952 )
  733. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  734. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
  735. ELSE
  736. WRITE( NOUT, FMT = 9953 )
  737. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  738. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
  739. END IF
  740. *
  741. ELSE IF( LSAMEN( 2, P2, 'TP' ) ) THEN
  742. *
  743. * xTP: Triangular packed matrix
  744. *
  745. IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  746. WRITE( NOUT, FMT = 9962 )
  747. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  748. $ OPTS( 2: 2 ), M, IMAT
  749. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  750. WRITE( NOUT, FMT = 9967 )
  751. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  752. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
  753. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATPS' ) ) THEN
  754. WRITE( NOUT, FMT = 9952 )
  755. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  756. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
  757. ELSE
  758. WRITE( NOUT, FMT = 9953 )
  759. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  760. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
  761. END IF
  762. *
  763. ELSE IF( LSAMEN( 2, P2, 'TB' ) ) THEN
  764. *
  765. * xTB: Triangular band matrix
  766. *
  767. IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  768. WRITE( NOUT, FMT = 9966 )
  769. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  770. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, IMAT
  771. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATBS' ) ) THEN
  772. WRITE( NOUT, FMT = 9951 )
  773. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  774. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, KL, IMAT
  775. ELSE
  776. WRITE( NOUT, FMT = 9954 )
  777. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  778. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, N5, IMAT
  779. END IF
  780. *
  781. ELSE IF( LSAMEN( 2, P2, 'QR' ) ) THEN
  782. *
  783. * xQR: QR factorization
  784. *
  785. IF( LSAMEN( 3, C3, 'QRS' ) ) THEN
  786. WRITE( NOUT, FMT = 9974 )
  787. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  788. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  789. WRITE( NOUT, FMT = 9978 )
  790. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  791. END IF
  792. *
  793. ELSE IF( LSAMEN( 2, P2, 'LQ' ) ) THEN
  794. *
  795. * xLQ: LQ factorization
  796. *
  797. IF( LSAMEN( 3, C3, 'LQS' ) ) THEN
  798. WRITE( NOUT, FMT = 9974 )
  799. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  800. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  801. WRITE( NOUT, FMT = 9978 )
  802. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  803. END IF
  804. *
  805. ELSE IF( LSAMEN( 2, P2, 'QL' ) ) THEN
  806. *
  807. * xQL: QL factorization
  808. *
  809. IF( LSAMEN( 3, C3, 'QLS' ) ) THEN
  810. WRITE( NOUT, FMT = 9974 )
  811. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  812. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  813. WRITE( NOUT, FMT = 9978 )
  814. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  815. END IF
  816. *
  817. ELSE IF( LSAMEN( 2, P2, 'RQ' ) ) THEN
  818. *
  819. * xRQ: RQ factorization
  820. *
  821. IF( LSAMEN( 3, C3, 'RQS' ) ) THEN
  822. WRITE( NOUT, FMT = 9974 )
  823. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  824. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  825. WRITE( NOUT, FMT = 9978 )
  826. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  827. END IF
  828. *
  829. ELSE IF( LSAMEN( 2, P2, 'LU' ) ) THEN
  830. *
  831. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  832. WRITE( NOUT, FMT = 9988 )
  833. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, N5,
  834. $ IMAT
  835. ELSE
  836. WRITE( NOUT, FMT = 9975 )
  837. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, N5, IMAT
  838. END IF
  839. *
  840. ELSE IF( LSAMEN( 2, P2, 'CH' ) ) THEN
  841. *
  842. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  843. WRITE( NOUT, FMT = 9985 )
  844. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N5, IMAT
  845. ELSE
  846. WRITE( NOUT, FMT = 9971 )
  847. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N5, IMAT
  848. END IF
  849. *
  850. ELSE
  851. *
  852. * Print a generic message if the path is unknown.
  853. *
  854. WRITE( NOUT, FMT = 9950 )
  855. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO
  856. END IF
  857. *
  858. * Description of error message (alphabetical, left to right)
  859. *
  860. * SUBNAM, INFO, FACT, N, NRHS, IMAT
  861. *
  862. 9999 FORMAT( ' *** Error code from ', A, '=', I5, ', FACT=''', A1,
  863. $ ''', N=', I5, ', NRHS=', I4, ', type ', I2 )
  864. *
  865. * SUBNAM, INFO, FACT, TRANS, N, KL, KU, NRHS, IMAT
  866. *
  867. 9998 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  868. $ A1, ''', TRANS=''', A1, ''', N=', I5, ', KL=', I5, ', KU=',
  869. $ I5, ', NRHS=', I4, ', type ', I1 )
  870. *
  871. * SUBNAM, INFO, FACT, TRANS, N, NRHS, IMAT
  872. *
  873. 9997 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  874. $ A1, ''', TRANS=''', A1, ''', N =', I5, ', NRHS =', I4,
  875. $ ', type ', I2 )
  876. *
  877. * SUBNAM, INFO, FACT, UPLO, N, KD, NRHS, IMAT
  878. *
  879. 9996 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  880. $ A1, ''', UPLO=''', A1, ''', N=', I5, ', KD=', I5, ', NRHS=',
  881. $ I4, ', type ', I2 )
  882. *
  883. * SUBNAM, INFO, FACT, UPLO, N, NRHS, IMAT
  884. *
  885. 9995 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  886. $ A1, ''', UPLO=''', A1, ''', N =', I5, ', NRHS =', I4,
  887. $ ', type ', I2 )
  888. *
  889. * SUBNAM, INFO, INFOE, FACT, N, NRHS, IMAT
  890. *
  891. 9994 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  892. $ I2, / ' ==> FACT=''', A1, ''', N =', I5, ', NRHS =', I4,
  893. $ ', type ', I2 )
  894. *
  895. * SUBNAM, INFO, INFOE, FACT, TRANS, N, KL, KU, NRHS, IMAT
  896. *
  897. 9993 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  898. $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N=', I5,
  899. $ ', KL=', I5, ', KU=', I5, ', NRHS=', I4, ', type ', I1 )
  900. *
  901. * SUBNAM, INFO, INFOE, FACT, TRANS, N, NRHS, IMAT
  902. *
  903. 9992 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  904. $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N =', I5,
  905. $ ', NRHS =', I4, ', type ', I2 )
  906. *
  907. * SUBNAM, INFO, INFOE, FACT, UPLO, N, KD, NRHS, IMAT
  908. *
  909. 9991 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  910. $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N=', I5,
  911. $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 )
  912. *
  913. * SUBNAM, INFO, INFOE, FACT, UPLO, N, NRHS, IMAT
  914. *
  915. 9990 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  916. $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N =', I5,
  917. $ ', NRHS =', I4, ', type ', I2 )
  918. *
  919. * SUBNAM, INFO, INFOE, M, N, KL, KU, NB, IMAT
  920. *
  921. 9989 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  922. $ I2, / ' ==> M = ', I5, ', N =', I5, ', KL =', I5, ', KU =',
  923. $ I5, ', NB =', I4, ', type ', I2 )
  924. *
  925. * SUBNAM, INFO, INFOE, M, N, NB, IMAT
  926. *
  927. 9988 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  928. $ I2, / ' ==> M =', I5, ', N =', I5, ', NB =', I4, ', type ',
  929. $ I2 )
  930. *
  931. * SUBNAM, INFO, INFOE, N, IMAT
  932. *
  933. 9987 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  934. $ I2, ' for N=', I5, ', type ', I2 )
  935. *
  936. * SUBNAM, INFO, INFOE, N, KL, KU, NRHS, IMAT
  937. *
  938. 9986 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  939. $ I2, / ' ==> N =', I5, ', KL =', I5, ', KU =', I5,
  940. $ ', NRHS =', I4, ', type ', I2 )
  941. *
  942. * SUBNAM, INFO, INFOE, N, NB, IMAT
  943. *
  944. 9985 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  945. $ I2, / ' ==> N =', I5, ', NB =', I4, ', type ', I2 )
  946. *
  947. * SUBNAM, INFO, INFOE, N, NRHS, IMAT
  948. *
  949. 9984 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  950. $ I2, / ' ==> N =', I5, ', NRHS =', I4, ', type ', I2 )
  951. *
  952. * SUBNAM, INFO, INFOE, UPLO, N, IMAT
  953. *
  954. 9983 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  955. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', type ', I2 )
  956. *
  957. * SUBNAM, INFO, INFOE, UPLO, N, KD, NB, IMAT
  958. *
  959. 9982 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  960. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', KD =', I5,
  961. $ ', NB =', I4, ', type ', I2 )
  962. *
  963. * SUBNAM, INFO, INFOE, UPLO, N, KD, NRHS, IMAT
  964. *
  965. 9981 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  966. $ I2, / ' ==> UPLO=''', A1, ''', N =', I5, ', KD =', I5,
  967. $ ', NRHS =', I4, ', type ', I2 )
  968. *
  969. * SUBNAM, INFO, INFOE, UPLO, N, NB, IMAT
  970. *
  971. 9980 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  972. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NB =', I4,
  973. $ ', type ', I2 )
  974. *
  975. * SUBNAM, INFO, INFOE, UPLO, N, NRHS, IMAT
  976. *
  977. 9979 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  978. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NRHS =', I4,
  979. $ ', type ', I2 )
  980. *
  981. * SUBNAM, INFO, M, N, IMAT
  982. *
  983. 9978 FORMAT( ' *** Error code from ', A, ' =', I5, ' for M =', I5,
  984. $ ', N =', I5, ', type ', I2 )
  985. *
  986. * SUBNAM, INFO, M, N, KL, KU, IMAT
  987. *
  988. 9977 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5,
  989. $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', type ', I2 )
  990. *
  991. * SUBNAM, INFO, M, N, KL, KU, NB, IMAT
  992. *
  993. 9976 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5,
  994. $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', NB =', I4,
  995. $ ', type ', I2 )
  996. *
  997. * SUBNAM, INFO, M, N, NB, IMAT
  998. *
  999. 9975 FORMAT( ' *** Error code from ', A, '=', I5, ' for M=', I5,
  1000. $ ', N=', I5, ', NB=', I4, ', type ', I2 )
  1001. *
  1002. * SUBNAM, INFO, M, N, NRHS, NB, IMAT
  1003. *
  1004. 9974 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> M =', I5,
  1005. $ ', N =', I5, ', NRHS =', I4, ', NB =', I4, ', type ', I2 )
  1006. *
  1007. * SUBNAM, INFO, N, IMAT
  1008. *
  1009. 9973 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5,
  1010. $ ', type ', I2 )
  1011. *
  1012. * SUBNAM, INFO, N, KL, KU, NRHS, IMAT
  1013. *
  1014. 9972 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> N =', I5,
  1015. $ ', KL =', I5, ', KU =', I5, ', NRHS =', I4, ', type ', I2 )
  1016. *
  1017. * SUBNAM, INFO, N, NB, IMAT
  1018. *
  1019. 9971 FORMAT( ' *** Error code from ', A, '=', I5, ' for N=', I5,
  1020. $ ', NB=', I4, ', type ', I2 )
  1021. *
  1022. * SUBNAM, INFO, N, NRHS, IMAT
  1023. *
  1024. 9970 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5,
  1025. $ ', NRHS =', I4, ', type ', I2 )
  1026. *
  1027. * SUBNAM, INFO, NORM, N, IMAT
  1028. *
  1029. 9969 FORMAT( ' *** Error code from ', A, ' =', I5, ' for NORM = ''',
  1030. $ A1, ''', N =', I5, ', type ', I2 )
  1031. *
  1032. * SUBNAM, INFO, NORM, N, KL, KU, IMAT
  1033. *
  1034. 9968 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM =''',
  1035. $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', type ',
  1036. $ I2 )
  1037. *
  1038. * SUBNAM, INFO, NORM, UPLO, DIAG, N, IMAT
  1039. *
  1040. 9967 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''',
  1041. $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N =', I5,
  1042. $ ', type ', I2 )
  1043. *
  1044. * SUBNAM, INFO, NORM, UPLO, DIAG, N, KD, IMAT
  1045. *
  1046. 9966 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''',
  1047. $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N=', I5,
  1048. $ ', KD=', I5, ', type ', I2 )
  1049. *
  1050. * SUBNAM, INFO, TRANS, M, N, NRHS, NB, IMAT
  1051. *
  1052. 9965 FORMAT( ' *** Error code from ', A, ' =', I5,
  1053. $ / ' ==> TRANS = ''', A1, ''', M =', I5, ', N =', I5,
  1054. $ ', NRHS =', I4, ', NB =', I4, ', type ', I2 )
  1055. *
  1056. * SUBNAM, INFO, TRANS, N, KL, KU, NRHS, IMAT
  1057. *
  1058. 9964 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> TRANS=''',
  1059. $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', NRHS =',
  1060. $ I4, ', type ', I2 )
  1061. *
  1062. * SUBNAM, INFO, TRANS, N, NRHS, IMAT
  1063. *
  1064. 9963 FORMAT( ' *** Error code from ', A, ' =', I5,
  1065. $ / ' ==> TRANS = ''', A1, ''', N =', I5, ', NRHS =', I4,
  1066. $ ', type ', I2 )
  1067. *
  1068. * SUBNAM, INFO, UPLO, DIAG, N, IMAT
  1069. *
  1070. 9962 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1071. $ A1, ''', DIAG =''', A1, ''', N =', I5, ', type ', I2 )
  1072. *
  1073. * SUBNAM, INFO, UPLO, DIAG, N, NB, IMAT
  1074. *
  1075. 9961 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1076. $ A1, ''', DIAG =''', A1, ''', N =', I5, ', NB =', I4,
  1077. $ ', type ', I2 )
  1078. *
  1079. * SUBNAM, INFO, UPLO, N, IMAT
  1080. *
  1081. 9960 FORMAT( ' *** Error code from ', A, ' =', I5, ' for UPLO = ''',
  1082. $ A1, ''', N =', I5, ', type ', I2 )
  1083. *
  1084. * SUBNAM, INFO, UPLO, N, KD, IMAT
  1085. *
  1086. 9959 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1087. $ A1, ''', N =', I5, ', KD =', I5, ', type ', I2 )
  1088. *
  1089. * SUBNAM, INFO, UPLO, N, KD, NB, IMAT
  1090. *
  1091. 9958 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1092. $ A1, ''', N =', I5, ', KD =', I5, ', NB =', I4, ', type ',
  1093. $ I2 )
  1094. *
  1095. * SUBNAM, INFO, UPLO, N, KD, NRHS, IMAT
  1096. *
  1097. 9957 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> UPLO = ''',
  1098. $ A1, ''', N =', I5, ', KD =', I5, ', NRHS =', I4, ', type ',
  1099. $ I2 )
  1100. *
  1101. * SUBNAM, INFO, UPLO, N, NB, IMAT
  1102. *
  1103. 9956 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1104. $ A1, ''', N =', I5, ', NB =', I4, ', type ', I2 )
  1105. *
  1106. * SUBNAM, INFO, UPLO, N, NRHS, IMAT
  1107. *
  1108. 9955 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1109. $ A1, ''', N =', I5, ', NRHS =', I4, ', type ', I2 )
  1110. *
  1111. * SUBNAM, INFO, UPLO, TRANS, DIAG, N, KD, NRHS, IMAT
  1112. *
  1113. 9954 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1114. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N=', I5,
  1115. $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 )
  1116. *
  1117. * SUBNAM, INFO, UPLO, TRANS, DIAG, N, NRHS, IMAT
  1118. *
  1119. 9953 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1120. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N =', I5,
  1121. $ ', NRHS =', I4, ', type ', I2 )
  1122. *
  1123. * SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, IMAT
  1124. *
  1125. 9952 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1126. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''',
  1127. $ A1, ''', N =', I5, ', type ', I2 )
  1128. *
  1129. * SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, KD, IMAT
  1130. *
  1131. 9951 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1132. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''',
  1133. $ A1, ''', N=', I5, ', KD=', I5, ', type ', I2 )
  1134. *
  1135. * Unknown type
  1136. *
  1137. 9950 FORMAT( ' *** Error code from ', A, ' =', I5 )
  1138. *
  1139. * What we do next
  1140. *
  1141. 9949 FORMAT( ' ==> Doing only the condition estimate for this case' )
  1142. *
  1143. RETURN
  1144. *
  1145. * End of ALAERH
  1146. *
  1147. END