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

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