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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158
  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 December 2016
  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.7.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. * December 2016
  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, 'SK' )
  493. $ .OR. LSAMEN( 2, P2, 'HE' )
  494. $ .OR. LSAMEN( 2, P2, 'HR' )
  495. $ .OR. LSAMEN( 2, P2, 'HK' )
  496. $ .OR. LSAMEN( 2, P2, 'HA' ) ) THEN
  497. *
  498. * xSY: symmetric indefinite matrices
  499. * with partial (Bunch-Kaufman) pivoting;
  500. * xSR: symmetric indefinite matrices
  501. * with rook (bounded Bunch-Kaufman) pivoting;
  502. * xSK: symmetric indefinite matrices
  503. * with rook (bounded Bunch-Kaufman) pivoting,
  504. * new storage format;
  505. * xHE: Hermitian indefinite matrices
  506. * with partial (Bunch-Kaufman) pivoting.
  507. * xHR: Hermitian indefinite matrices
  508. * with rook (bounded Bunch-Kaufman) pivoting;
  509. * xHK: Hermitian indefinite matrices
  510. * with rook (bounded Bunch-Kaufman) pivoting,
  511. * new storage format;
  512. * xHA: Hermitian matrices
  513. * Aasen Algorithm
  514. *
  515. UPLO = OPTS( 1: 1 )
  516. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  517. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  518. WRITE( NOUT, FMT = 9980 )
  519. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  520. $ N5, IMAT
  521. ELSE
  522. WRITE( NOUT, FMT = 9956 )
  523. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  524. END IF
  525. IF( INFO.NE.0 )
  526. $ WRITE( NOUT, FMT = 9949 )
  527. *
  528. ELSE IF( LSAMEN( 2, C3, 'SV' ) ) THEN
  529. *
  530. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  531. WRITE( NOUT, FMT = 9979 )
  532. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  533. $ N5, IMAT
  534. ELSE
  535. WRITE( NOUT, FMT = 9955 )
  536. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT
  537. END IF
  538. *
  539. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  540. *
  541. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  542. WRITE( NOUT, FMT = 9990 )
  543. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  544. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  545. ELSE
  546. WRITE( NOUT, FMT = 9995 )
  547. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  548. $ OPTS( 2: 2 ), N, N5, IMAT
  549. END IF
  550. *
  551. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  552. $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
  553. $ THEN
  554. *
  555. WRITE( NOUT, FMT = 9960 )
  556. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  557. *
  558. ELSE
  559. *
  560. WRITE( NOUT, FMT = 9955 )
  561. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  562. END IF
  563. *
  564. ELSE IF( LSAMEN( 2, P2, 'PP' ) .OR. LSAMEN( 2, P2, 'SP' ) .OR.
  565. $ LSAMEN( 2, P2, 'HP' ) ) THEN
  566. *
  567. * xPP, xHP, or xSP: Symmetric or Hermitian packed matrices
  568. *
  569. UPLO = OPTS( 1: 1 )
  570. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  571. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  572. WRITE( NOUT, FMT = 9983 )
  573. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  574. $ IMAT
  575. ELSE
  576. WRITE( NOUT, FMT = 9960 )
  577. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  578. END IF
  579. IF( INFO.NE.0 )
  580. $ WRITE( NOUT, FMT = 9949 )
  581. *
  582. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  583. *
  584. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  585. WRITE( NOUT, FMT = 9979 )
  586. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  587. $ N5, IMAT
  588. ELSE
  589. WRITE( NOUT, FMT = 9955 )
  590. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, N5, IMAT
  591. END IF
  592. *
  593. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  594. *
  595. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  596. WRITE( NOUT, FMT = 9990 )
  597. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  598. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
  599. ELSE
  600. WRITE( NOUT, FMT = 9995 )
  601. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  602. $ OPTS( 2: 2 ), N, N5, IMAT
  603. END IF
  604. *
  605. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  606. $ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
  607. $ THEN
  608. *
  609. WRITE( NOUT, FMT = 9960 )
  610. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, IMAT
  611. *
  612. ELSE
  613. *
  614. WRITE( NOUT, FMT = 9955 )
  615. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, N5, IMAT
  616. END IF
  617. *
  618. ELSE IF( LSAMEN( 2, P2, 'PB' ) ) THEN
  619. *
  620. * xPB: Symmetric (Hermitian) positive definite band matrix
  621. *
  622. UPLO = OPTS( 1: 1 )
  623. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  624. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  625. WRITE( NOUT, FMT = 9982 )
  626. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, M,
  627. $ KL, N5, IMAT
  628. ELSE
  629. WRITE( NOUT, FMT = 9958 )
  630. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5,
  631. $ IMAT
  632. END IF
  633. IF( INFO.NE.0 )
  634. $ WRITE( NOUT, FMT = 9949 )
  635. *
  636. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  637. *
  638. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  639. WRITE( NOUT, FMT = 9981 )
  640. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, UPLO, N,
  641. $ KL, N5, IMAT
  642. ELSE
  643. WRITE( NOUT, FMT = 9957 )
  644. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, N, KL, N5,
  645. $ IMAT
  646. END IF
  647. *
  648. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  649. *
  650. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  651. WRITE( NOUT, FMT = 9991 )
  652. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  653. $ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, N5, IMAT
  654. ELSE
  655. WRITE( NOUT, FMT = 9996 )
  656. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  657. $ OPTS( 2: 2 ), N, KL, N5, IMAT
  658. END IF
  659. *
  660. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
  661. $ LSAMEN( 3, C3, 'CON' ) ) THEN
  662. *
  663. WRITE( NOUT, FMT = 9959 )
  664. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, IMAT
  665. *
  666. ELSE
  667. *
  668. WRITE( NOUT, FMT = 9957 )
  669. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, UPLO, M, KL, N5,
  670. $ IMAT
  671. END IF
  672. *
  673. ELSE IF( LSAMEN( 2, P2, 'PT' ) ) THEN
  674. *
  675. * xPT: Positive definite tridiagonal matrices
  676. *
  677. IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
  678. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  679. WRITE( NOUT, FMT = 9987 )
  680. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, IMAT
  681. ELSE
  682. WRITE( NOUT, FMT = 9973 )
  683. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, IMAT
  684. END IF
  685. IF( INFO.NE.0 )
  686. $ WRITE( NOUT, FMT = 9949 )
  687. *
  688. ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
  689. *
  690. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  691. WRITE( NOUT, FMT = 9984 )
  692. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, N, N5,
  693. $ IMAT
  694. ELSE
  695. WRITE( NOUT, FMT = 9970 )
  696. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, N, N5, IMAT
  697. END IF
  698. *
  699. ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
  700. *
  701. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  702. WRITE( NOUT, FMT = 9994 )
  703. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE,
  704. $ OPTS( 1: 1 ), N, N5, IMAT
  705. ELSE
  706. WRITE( NOUT, FMT = 9999 )
  707. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), N,
  708. $ N5, IMAT
  709. END IF
  710. *
  711. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  712. *
  713. IF( LSAME( SUBNAM( 1: 1 ), 'S' ) .OR.
  714. $ LSAME( SUBNAM( 1: 1 ), 'D' ) ) THEN
  715. WRITE( NOUT, FMT = 9973 )
  716. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, IMAT
  717. ELSE
  718. WRITE( NOUT, FMT = 9969 )
  719. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M,
  720. $ IMAT
  721. END IF
  722. *
  723. ELSE
  724. *
  725. WRITE( NOUT, FMT = 9963 )
  726. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ), M, N5,
  727. $ IMAT
  728. END IF
  729. *
  730. ELSE IF( LSAMEN( 2, P2, 'TR' ) ) THEN
  731. *
  732. * xTR: Triangular matrix
  733. *
  734. IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  735. WRITE( NOUT, FMT = 9961 )
  736. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  737. $ OPTS( 2: 2 ), M, N5, IMAT
  738. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  739. WRITE( NOUT, FMT = 9967 )
  740. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  741. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
  742. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATRS' ) ) THEN
  743. WRITE( NOUT, FMT = 9952 )
  744. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  745. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
  746. ELSE
  747. WRITE( NOUT, FMT = 9953 )
  748. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  749. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
  750. END IF
  751. *
  752. ELSE IF( LSAMEN( 2, P2, 'TP' ) ) THEN
  753. *
  754. * xTP: Triangular packed matrix
  755. *
  756. IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
  757. WRITE( NOUT, FMT = 9962 )
  758. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  759. $ OPTS( 2: 2 ), M, IMAT
  760. ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  761. WRITE( NOUT, FMT = 9967 )
  762. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  763. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
  764. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATPS' ) ) THEN
  765. WRITE( NOUT, FMT = 9952 )
  766. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  767. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
  768. ELSE
  769. WRITE( NOUT, FMT = 9953 )
  770. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  771. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
  772. END IF
  773. *
  774. ELSE IF( LSAMEN( 2, P2, 'TB' ) ) THEN
  775. *
  776. * xTB: Triangular band matrix
  777. *
  778. IF( LSAMEN( 3, C3, 'CON' ) ) THEN
  779. WRITE( NOUT, FMT = 9966 )
  780. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  781. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, IMAT
  782. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATBS' ) ) THEN
  783. WRITE( NOUT, FMT = 9951 )
  784. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  785. $ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, KL, IMAT
  786. ELSE
  787. WRITE( NOUT, FMT = 9954 )
  788. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, OPTS( 1: 1 ),
  789. $ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, N5, IMAT
  790. END IF
  791. *
  792. ELSE IF( LSAMEN( 2, P2, 'QR' ) ) THEN
  793. *
  794. * xQR: QR factorization
  795. *
  796. IF( LSAMEN( 3, C3, 'QRS' ) ) THEN
  797. WRITE( NOUT, FMT = 9974 )
  798. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  799. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  800. WRITE( NOUT, FMT = 9978 )
  801. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  802. END IF
  803. *
  804. ELSE IF( LSAMEN( 2, P2, 'LQ' ) ) THEN
  805. *
  806. * xLQ: LQ factorization
  807. *
  808. IF( LSAMEN( 3, C3, 'LQS' ) ) THEN
  809. WRITE( NOUT, FMT = 9974 )
  810. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  811. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  812. WRITE( NOUT, FMT = 9978 )
  813. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  814. END IF
  815. *
  816. ELSE IF( LSAMEN( 2, P2, 'QL' ) ) THEN
  817. *
  818. * xQL: QL factorization
  819. *
  820. IF( LSAMEN( 3, C3, 'QLS' ) ) THEN
  821. WRITE( NOUT, FMT = 9974 )
  822. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  823. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  824. WRITE( NOUT, FMT = 9978 )
  825. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  826. END IF
  827. *
  828. ELSE IF( LSAMEN( 2, P2, 'RQ' ) ) THEN
  829. *
  830. * xRQ: RQ factorization
  831. *
  832. IF( LSAMEN( 3, C3, 'RQS' ) ) THEN
  833. WRITE( NOUT, FMT = 9974 )
  834. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, KL, N5, IMAT
  835. ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
  836. WRITE( NOUT, FMT = 9978 )
  837. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, IMAT
  838. END IF
  839. *
  840. ELSE IF( LSAMEN( 2, P2, 'LU' ) ) THEN
  841. *
  842. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  843. WRITE( NOUT, FMT = 9988 )
  844. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N, N5,
  845. $ IMAT
  846. ELSE
  847. WRITE( NOUT, FMT = 9975 )
  848. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N, N5, IMAT
  849. END IF
  850. *
  851. ELSE IF( LSAMEN( 2, P2, 'CH' ) ) THEN
  852. *
  853. IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
  854. WRITE( NOUT, FMT = 9985 )
  855. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, INFOE, M, N5, IMAT
  856. ELSE
  857. WRITE( NOUT, FMT = 9971 )
  858. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO, M, N5, IMAT
  859. END IF
  860. *
  861. ELSE
  862. *
  863. * Print a generic message if the path is unknown.
  864. *
  865. WRITE( NOUT, FMT = 9950 )
  866. $ SUBNAM(1:LEN_TRIM( SUBNAM )), INFO
  867. END IF
  868. *
  869. * Description of error message (alphabetical, left to right)
  870. *
  871. * SUBNAM, INFO, FACT, N, NRHS, IMAT
  872. *
  873. 9999 FORMAT( ' *** Error code from ', A, '=', I5, ', FACT=''', A1,
  874. $ ''', N=', I5, ', NRHS=', I4, ', type ', I2 )
  875. *
  876. * SUBNAM, INFO, FACT, TRANS, N, KL, KU, NRHS, IMAT
  877. *
  878. 9998 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  879. $ A1, ''', TRANS=''', A1, ''', N=', I5, ', KL=', I5, ', KU=',
  880. $ I5, ', NRHS=', I4, ', type ', I1 )
  881. *
  882. * SUBNAM, INFO, FACT, TRANS, N, NRHS, IMAT
  883. *
  884. 9997 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  885. $ A1, ''', TRANS=''', A1, ''', N =', I5, ', NRHS =', I4,
  886. $ ', type ', I2 )
  887. *
  888. * SUBNAM, INFO, FACT, UPLO, N, KD, NRHS, IMAT
  889. *
  890. 9996 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  891. $ A1, ''', UPLO=''', A1, ''', N=', I5, ', KD=', I5, ', NRHS=',
  892. $ I4, ', type ', I2 )
  893. *
  894. * SUBNAM, INFO, FACT, UPLO, N, NRHS, IMAT
  895. *
  896. 9995 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> FACT=''',
  897. $ A1, ''', UPLO=''', A1, ''', N =', I5, ', NRHS =', I4,
  898. $ ', type ', I2 )
  899. *
  900. * SUBNAM, INFO, INFOE, FACT, N, NRHS, IMAT
  901. *
  902. 9994 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  903. $ I2, / ' ==> FACT=''', A1, ''', N =', I5, ', NRHS =', I4,
  904. $ ', type ', I2 )
  905. *
  906. * SUBNAM, INFO, INFOE, FACT, TRANS, N, KL, KU, NRHS, IMAT
  907. *
  908. 9993 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  909. $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N=', I5,
  910. $ ', KL=', I5, ', KU=', I5, ', NRHS=', I4, ', type ', I1 )
  911. *
  912. * SUBNAM, INFO, INFOE, FACT, TRANS, N, NRHS, IMAT
  913. *
  914. 9992 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  915. $ I2, / ' ==> FACT=''', A1, ''', TRANS=''', A1, ''', N =', I5,
  916. $ ', NRHS =', I4, ', type ', I2 )
  917. *
  918. * SUBNAM, INFO, INFOE, FACT, UPLO, N, KD, NRHS, IMAT
  919. *
  920. 9991 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  921. $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N=', I5,
  922. $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 )
  923. *
  924. * SUBNAM, INFO, INFOE, FACT, UPLO, N, NRHS, IMAT
  925. *
  926. 9990 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  927. $ I2, / ' ==> FACT=''', A1, ''', UPLO=''', A1, ''', N =', I5,
  928. $ ', NRHS =', I4, ', type ', I2 )
  929. *
  930. * SUBNAM, INFO, INFOE, M, N, KL, KU, NB, IMAT
  931. *
  932. 9989 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  933. $ I2, / ' ==> M = ', I5, ', N =', I5, ', KL =', I5, ', KU =',
  934. $ I5, ', NB =', I4, ', type ', I2 )
  935. *
  936. * SUBNAM, INFO, INFOE, M, N, NB, IMAT
  937. *
  938. 9988 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  939. $ I2, / ' ==> M =', I5, ', N =', I5, ', NB =', I4, ', type ',
  940. $ I2 )
  941. *
  942. * SUBNAM, INFO, INFOE, N, IMAT
  943. *
  944. 9987 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  945. $ I2, ' for N=', I5, ', type ', I2 )
  946. *
  947. * SUBNAM, INFO, INFOE, N, KL, KU, NRHS, IMAT
  948. *
  949. 9986 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  950. $ I2, / ' ==> N =', I5, ', KL =', I5, ', KU =', I5,
  951. $ ', NRHS =', I4, ', type ', I2 )
  952. *
  953. * SUBNAM, INFO, INFOE, N, NB, IMAT
  954. *
  955. 9985 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  956. $ I2, / ' ==> N =', I5, ', NB =', I4, ', type ', I2 )
  957. *
  958. * SUBNAM, INFO, INFOE, N, NRHS, IMAT
  959. *
  960. 9984 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  961. $ I2, / ' ==> N =', I5, ', NRHS =', I4, ', type ', I2 )
  962. *
  963. * SUBNAM, INFO, INFOE, UPLO, N, IMAT
  964. *
  965. 9983 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  966. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', type ', I2 )
  967. *
  968. * SUBNAM, INFO, INFOE, UPLO, N, KD, NB, IMAT
  969. *
  970. 9982 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  971. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', KD =', I5,
  972. $ ', NB =', I4, ', type ', I2 )
  973. *
  974. * SUBNAM, INFO, INFOE, UPLO, N, KD, NRHS, IMAT
  975. *
  976. 9981 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  977. $ I2, / ' ==> UPLO=''', A1, ''', N =', I5, ', KD =', I5,
  978. $ ', NRHS =', I4, ', type ', I2 )
  979. *
  980. * SUBNAM, INFO, INFOE, UPLO, N, NB, IMAT
  981. *
  982. 9980 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  983. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NB =', I4,
  984. $ ', type ', I2 )
  985. *
  986. * SUBNAM, INFO, INFOE, UPLO, N, NRHS, IMAT
  987. *
  988. 9979 FORMAT( ' *** ', A, ' returned with INFO =', I5, ' instead of ',
  989. $ I2, / ' ==> UPLO = ''', A1, ''', N =', I5, ', NRHS =', I4,
  990. $ ', type ', I2 )
  991. *
  992. * SUBNAM, INFO, M, N, IMAT
  993. *
  994. 9978 FORMAT( ' *** Error code from ', A, ' =', I5, ' for M =', I5,
  995. $ ', N =', I5, ', type ', I2 )
  996. *
  997. * SUBNAM, INFO, M, N, KL, KU, IMAT
  998. *
  999. 9977 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5,
  1000. $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', type ', I2 )
  1001. *
  1002. * SUBNAM, INFO, M, N, KL, KU, NB, IMAT
  1003. *
  1004. 9976 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> M = ', I5,
  1005. $ ', N =', I5, ', KL =', I5, ', KU =', I5, ', NB =', I4,
  1006. $ ', type ', I2 )
  1007. *
  1008. * SUBNAM, INFO, M, N, NB, IMAT
  1009. *
  1010. 9975 FORMAT( ' *** Error code from ', A, '=', I5, ' for M=', I5,
  1011. $ ', N=', I5, ', NB=', I4, ', type ', I2 )
  1012. *
  1013. * SUBNAM, INFO, M, N, NRHS, NB, IMAT
  1014. *
  1015. 9974 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> M =', I5,
  1016. $ ', N =', I5, ', NRHS =', I4, ', NB =', I4, ', type ', I2 )
  1017. *
  1018. * SUBNAM, INFO, N, IMAT
  1019. *
  1020. 9973 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5,
  1021. $ ', type ', I2 )
  1022. *
  1023. * SUBNAM, INFO, N, KL, KU, NRHS, IMAT
  1024. *
  1025. 9972 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> N =', I5,
  1026. $ ', KL =', I5, ', KU =', I5, ', NRHS =', I4, ', type ', I2 )
  1027. *
  1028. * SUBNAM, INFO, N, NB, IMAT
  1029. *
  1030. 9971 FORMAT( ' *** Error code from ', A, '=', I5, ' for N=', I5,
  1031. $ ', NB=', I4, ', type ', I2 )
  1032. *
  1033. * SUBNAM, INFO, N, NRHS, IMAT
  1034. *
  1035. 9970 FORMAT( ' *** Error code from ', A, ' =', I5, ' for N =', I5,
  1036. $ ', NRHS =', I4, ', type ', I2 )
  1037. *
  1038. * SUBNAM, INFO, NORM, N, IMAT
  1039. *
  1040. 9969 FORMAT( ' *** Error code from ', A, ' =', I5, ' for NORM = ''',
  1041. $ A1, ''', N =', I5, ', type ', I2 )
  1042. *
  1043. * SUBNAM, INFO, NORM, N, KL, KU, IMAT
  1044. *
  1045. 9968 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM =''',
  1046. $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', type ',
  1047. $ I2 )
  1048. *
  1049. * SUBNAM, INFO, NORM, UPLO, DIAG, N, IMAT
  1050. *
  1051. 9967 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''',
  1052. $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N =', I5,
  1053. $ ', type ', I2 )
  1054. *
  1055. * SUBNAM, INFO, NORM, UPLO, DIAG, N, KD, IMAT
  1056. *
  1057. 9966 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> NORM=''',
  1058. $ A1, ''', UPLO =''', A1, ''', DIAG=''', A1, ''', N=', I5,
  1059. $ ', KD=', I5, ', type ', I2 )
  1060. *
  1061. * SUBNAM, INFO, TRANS, M, N, NRHS, NB, IMAT
  1062. *
  1063. 9965 FORMAT( ' *** Error code from ', A, ' =', I5,
  1064. $ / ' ==> TRANS = ''', A1, ''', M =', I5, ', N =', I5,
  1065. $ ', NRHS =', I4, ', NB =', I4, ', type ', I2 )
  1066. *
  1067. * SUBNAM, INFO, TRANS, N, KL, KU, NRHS, IMAT
  1068. *
  1069. 9964 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> TRANS=''',
  1070. $ A1, ''', N =', I5, ', KL =', I5, ', KU =', I5, ', NRHS =',
  1071. $ I4, ', type ', I2 )
  1072. *
  1073. * SUBNAM, INFO, TRANS, N, NRHS, IMAT
  1074. *
  1075. 9963 FORMAT( ' *** Error code from ', A, ' =', I5,
  1076. $ / ' ==> TRANS = ''', A1, ''', N =', I5, ', NRHS =', I4,
  1077. $ ', type ', I2 )
  1078. *
  1079. * SUBNAM, INFO, UPLO, DIAG, N, IMAT
  1080. *
  1081. 9962 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1082. $ A1, ''', DIAG =''', A1, ''', N =', I5, ', type ', I2 )
  1083. *
  1084. * SUBNAM, INFO, UPLO, DIAG, N, NB, IMAT
  1085. *
  1086. 9961 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1087. $ A1, ''', DIAG =''', A1, ''', N =', I5, ', NB =', I4,
  1088. $ ', type ', I2 )
  1089. *
  1090. * SUBNAM, INFO, UPLO, N, IMAT
  1091. *
  1092. 9960 FORMAT( ' *** Error code from ', A, ' =', I5, ' for UPLO = ''',
  1093. $ A1, ''', N =', I5, ', type ', I2 )
  1094. *
  1095. * SUBNAM, INFO, UPLO, N, KD, IMAT
  1096. *
  1097. 9959 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1098. $ A1, ''', N =', I5, ', KD =', I5, ', type ', I2 )
  1099. *
  1100. * SUBNAM, INFO, UPLO, N, KD, NB, IMAT
  1101. *
  1102. 9958 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1103. $ A1, ''', N =', I5, ', KD =', I5, ', NB =', I4, ', type ',
  1104. $ I2 )
  1105. *
  1106. * SUBNAM, INFO, UPLO, N, KD, NRHS, IMAT
  1107. *
  1108. 9957 FORMAT( ' *** Error code from ', A, '=', I5, / ' ==> UPLO = ''',
  1109. $ A1, ''', N =', I5, ', KD =', I5, ', NRHS =', I4, ', type ',
  1110. $ I2 )
  1111. *
  1112. * SUBNAM, INFO, UPLO, N, NB, IMAT
  1113. *
  1114. 9956 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1115. $ A1, ''', N =', I5, ', NB =', I4, ', type ', I2 )
  1116. *
  1117. * SUBNAM, INFO, UPLO, N, NRHS, IMAT
  1118. *
  1119. 9955 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO = ''',
  1120. $ A1, ''', N =', I5, ', NRHS =', I4, ', type ', I2 )
  1121. *
  1122. * SUBNAM, INFO, UPLO, TRANS, DIAG, N, KD, NRHS, IMAT
  1123. *
  1124. 9954 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1125. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N=', I5,
  1126. $ ', KD=', I5, ', NRHS=', I4, ', type ', I2 )
  1127. *
  1128. * SUBNAM, INFO, UPLO, TRANS, DIAG, N, NRHS, IMAT
  1129. *
  1130. 9953 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1131. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', N =', I5,
  1132. $ ', NRHS =', I4, ', type ', I2 )
  1133. *
  1134. * SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, IMAT
  1135. *
  1136. 9952 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1137. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''',
  1138. $ A1, ''', N =', I5, ', type ', I2 )
  1139. *
  1140. * SUBNAM, INFO, UPLO, TRANS, DIAG, NORMIN, N, KD, IMAT
  1141. *
  1142. 9951 FORMAT( ' *** Error code from ', A, ' =', I5, / ' ==> UPLO=''',
  1143. $ A1, ''', TRANS=''', A1, ''', DIAG=''', A1, ''', NORMIN=''',
  1144. $ A1, ''', N=', I5, ', KD=', I5, ', type ', I2 )
  1145. *
  1146. * Unknown type
  1147. *
  1148. 9950 FORMAT( ' *** Error code from ', A, ' =', I5 )
  1149. *
  1150. * What we do next
  1151. *
  1152. 9949 FORMAT( ' ==> Doing only the condition estimate for this case' )
  1153. *
  1154. RETURN
  1155. *
  1156. * End of ALAERH
  1157. *
  1158. END