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.

zerrst.f 57 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357
  1. *> \brief \b ZERRST
  2. *
  3. * @precisions fortran z -> c
  4. *
  5. * =========== DOCUMENTATION ===========
  6. *
  7. * Online html documentation available at
  8. * http://www.netlib.org/lapack/explore-html/
  9. *
  10. * Definition:
  11. * ===========
  12. *
  13. * SUBROUTINE ZERRST( PATH, NUNIT )
  14. *
  15. * .. Scalar Arguments ..
  16. * CHARACTER*3 PATH
  17. * INTEGER NUNIT
  18. * ..
  19. *
  20. *
  21. *> \par Purpose:
  22. * =============
  23. *>
  24. *> \verbatim
  25. *>
  26. *> ZERRST tests the error exits for ZHETRD, ZHETD2, ZUNGTR, CUNMTR, ZHPTRD,
  27. *> ZUNGTR, ZUPMTR, ZSTEQR, CSTEIN, ZPTEQR, ZHBTRD,
  28. *> ZHEEV, CHEEVX, CHEEVD, ZHBEV, CHBEVX, CHBEVD,
  29. *> ZHPEV, CHPEVX, CHPEVD, and ZSTEDC.
  30. *> ZHEEVD_2STAGE, ZHEEVR_2STAGE, ZHEEVX_2STAGE,
  31. *> ZHEEV_2STAGE, ZHBEV_2STAGE, ZHBEVD_2STAGE,
  32. *> ZHBEVX_2STAGE, ZHETRD_2STAGE
  33. *> \endverbatim
  34. *
  35. * Arguments:
  36. * ==========
  37. *
  38. *> \param[in] PATH
  39. *> \verbatim
  40. *> PATH is CHARACTER*3
  41. *> The LAPACK path name for the routines to be tested.
  42. *> \endverbatim
  43. *>
  44. *> \param[in] NUNIT
  45. *> \verbatim
  46. *> NUNIT is INTEGER
  47. *> The unit number for output.
  48. *> \endverbatim
  49. *
  50. * Authors:
  51. * ========
  52. *
  53. *> \author Univ. of Tennessee
  54. *> \author Univ. of California Berkeley
  55. *> \author Univ. of Colorado Denver
  56. *> \author NAG Ltd.
  57. *
  58. *> \ingroup complex16_eig
  59. *
  60. * =====================================================================
  61. SUBROUTINE ZERRST( PATH, NUNIT )
  62. *
  63. * -- LAPACK test routine --
  64. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  65. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  66. *
  67. * .. Scalar Arguments ..
  68. CHARACTER*3 PATH
  69. INTEGER NUNIT
  70. * ..
  71. *
  72. * =====================================================================
  73. *
  74. * .. Parameters ..
  75. INTEGER NMAX, LIW, LW
  76. PARAMETER ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
  77. * ..
  78. * .. Local Scalars ..
  79. CHARACTER*2 C2
  80. INTEGER I, INFO, J, M, N, NT
  81. * ..
  82. * .. Local Arrays ..
  83. INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
  84. DOUBLE PRECISION D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
  85. $ X( NMAX )
  86. COMPLEX*16 A( NMAX, NMAX ), C( NMAX, NMAX ),
  87. $ Q( NMAX, NMAX ), TAU( NMAX ), W( LW ),
  88. $ Z( NMAX, NMAX )
  89. * ..
  90. * .. External Functions ..
  91. LOGICAL LSAMEN
  92. EXTERNAL LSAMEN
  93. * ..
  94. * .. External Subroutines ..
  95. EXTERNAL CHKXER, ZHBEV, ZHBEVD, ZHBEVX, ZHBTRD, ZHEEV,
  96. $ ZHEEVD, ZHEEVR, ZHEEVX, ZHETRD, ZHPEV, ZHPEVD,
  97. $ ZHPEVX, ZHPTRD, ZPTEQR, ZSTEDC, ZSTEIN, ZSTEQR,
  98. $ ZUNGTR, ZUNMTR, ZUPGTR, ZUPMTR, ZHETD2,
  99. $ ZHEEVD_2STAGE, ZHEEVR_2STAGE, ZHEEVX_2STAGE,
  100. $ ZHEEV_2STAGE, ZHBEV_2STAGE, ZHBEVD_2STAGE,
  101. $ ZHBEVX_2STAGE, ZHETRD_2STAGE
  102. * ..
  103. * .. Scalars in Common ..
  104. LOGICAL LERR, OK
  105. CHARACTER*32 SRNAMT
  106. INTEGER INFOT, NOUT
  107. * ..
  108. * .. Common blocks ..
  109. COMMON / INFOC / INFOT, NOUT, OK, LERR
  110. COMMON / SRNAMC / SRNAMT
  111. * ..
  112. * .. Intrinsic Functions ..
  113. INTRINSIC DBLE
  114. * ..
  115. * .. Executable Statements ..
  116. *
  117. NOUT = NUNIT
  118. WRITE( NOUT, FMT = * )
  119. C2 = PATH( 2: 3 )
  120. *
  121. * Set the variables to innocuous values.
  122. *
  123. DO 20 J = 1, NMAX
  124. DO 10 I = 1, NMAX
  125. A( I, J ) = 1.D0 / DBLE( I+J )
  126. 10 CONTINUE
  127. 20 CONTINUE
  128. DO 30 J = 1, NMAX
  129. D( J ) = DBLE( J )
  130. E( J ) = 0.0D0
  131. I1( J ) = J
  132. I2( J ) = J
  133. TAU( J ) = 1.D0
  134. 30 CONTINUE
  135. OK = .TRUE.
  136. NT = 0
  137. *
  138. * Test error exits for the ST path.
  139. *
  140. IF( LSAMEN( 2, C2, 'ST' ) ) THEN
  141. *
  142. * ZHETRD
  143. *
  144. SRNAMT = 'ZHETRD'
  145. INFOT = 1
  146. CALL ZHETRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
  147. CALL CHKXER( 'ZHETRD', INFOT, NOUT, LERR, OK )
  148. INFOT = 2
  149. CALL ZHETRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
  150. CALL CHKXER( 'ZHETRD', INFOT, NOUT, LERR, OK )
  151. INFOT = 4
  152. CALL ZHETRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
  153. CALL CHKXER( 'ZHETRD', INFOT, NOUT, LERR, OK )
  154. INFOT = 9
  155. CALL ZHETRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
  156. CALL CHKXER( 'ZHETRD', INFOT, NOUT, LERR, OK )
  157. NT = NT + 4
  158. *
  159. * ZHETD2
  160. *
  161. SRNAMT = 'ZHETD2'
  162. INFOT = 1
  163. CALL ZHETD2( '/', 0, A, 1, D, E, TAU, INFO )
  164. CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
  165. INFOT = 2
  166. CALL ZHETD2( 'U', -1, A, 1, D, E, TAU, INFO )
  167. CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
  168. INFOT = 4
  169. CALL ZHETD2( 'U', 2, A, 1, D, E, TAU, INFO )
  170. CALL CHKXER( 'ZHETD2', INFOT, NOUT, LERR, OK )
  171. NT = NT + 3
  172. *
  173. * ZHETRD_2STAGE
  174. *
  175. SRNAMT = 'ZHETRD_2STAGE'
  176. INFOT = 1
  177. CALL ZHETRD_2STAGE( '/', 'U', 0, A, 1, D, E, TAU,
  178. $ C, 1, W, 1, INFO )
  179. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  180. INFOT = 1
  181. CALL ZHETRD_2STAGE( 'H', 'U', 0, A, 1, D, E, TAU,
  182. $ C, 1, W, 1, INFO )
  183. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  184. INFOT = 2
  185. CALL ZHETRD_2STAGE( 'N', '/', 0, A, 1, D, E, TAU,
  186. $ C, 1, W, 1, INFO )
  187. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  188. INFOT = 3
  189. CALL ZHETRD_2STAGE( 'N', 'U', -1, A, 1, D, E, TAU,
  190. $ C, 1, W, 1, INFO )
  191. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  192. INFOT = 5
  193. CALL ZHETRD_2STAGE( 'N', 'U', 2, A, 1, D, E, TAU,
  194. $ C, 1, W, 1, INFO )
  195. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  196. INFOT = 10
  197. CALL ZHETRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
  198. $ C, 0, W, 1, INFO )
  199. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  200. INFOT = 12
  201. CALL ZHETRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
  202. $ C, 1, W, 0, INFO )
  203. CALL CHKXER( 'ZHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  204. NT = NT + 7
  205. *
  206. * ZHETRD_HE2HB
  207. *
  208. SRNAMT = 'ZHETRD_HE2HB'
  209. INFOT = 1
  210. CALL ZHETRD_HE2HB( '/', 0, 0, A, 1, C, 1, TAU, W, 1, INFO )
  211. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  212. INFOT = 2
  213. CALL ZHETRD_HE2HB( 'U', -1, 0, A, 1, C, 1, TAU, W, 1, INFO )
  214. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  215. INFOT = 3
  216. CALL ZHETRD_HE2HB( 'U', 0, -1, A, 1, C, 1, TAU, W, 1, INFO )
  217. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  218. INFOT = 5
  219. CALL ZHETRD_HE2HB( 'U', 2, 0, A, 1, C, 1, TAU, W, 1, INFO )
  220. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  221. INFOT = 7
  222. CALL ZHETRD_HE2HB( 'U', 0, 2, A, 1, C, 1, TAU, W, 1, INFO )
  223. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  224. INFOT = 10
  225. CALL ZHETRD_HE2HB( 'U', 0, 0, A, 1, C, 1, TAU, W, 0, INFO )
  226. CALL CHKXER( 'ZHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  227. NT = NT + 6
  228. *
  229. * ZHETRD_HB2ST
  230. *
  231. SRNAMT = 'ZHETRD_HB2ST'
  232. INFOT = 1
  233. CALL ZHETRD_HB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
  234. $ C, 1, W, 1, INFO )
  235. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  236. INFOT = 2
  237. CALL ZHETRD_HB2ST( 'Y', '/', 'U', 0, 0, A, 1, D, E,
  238. $ C, 1, W, 1, INFO )
  239. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  240. INFOT = 2
  241. CALL ZHETRD_HB2ST( 'Y', 'H', 'U', 0, 0, A, 1, D, E,
  242. $ C, 1, W, 1, INFO )
  243. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  244. INFOT = 3
  245. CALL ZHETRD_HB2ST( 'Y', 'N', '/', 0, 0, A, 1, D, E,
  246. $ C, 1, W, 1, INFO )
  247. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  248. INFOT = 4
  249. CALL ZHETRD_HB2ST( 'Y', 'N', 'U', -1, 0, A, 1, D, E,
  250. $ C, 1, W, 1, INFO )
  251. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  252. INFOT = 5
  253. CALL ZHETRD_HB2ST( 'Y', 'N', 'U', 0, -1, A, 1, D, E,
  254. $ C, 1, W, 1, INFO )
  255. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  256. INFOT = 7
  257. CALL ZHETRD_HB2ST( 'Y', 'N', 'U', 0, 1, A, 1, D, E,
  258. $ C, 1, W, 1, INFO )
  259. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  260. INFOT = 11
  261. CALL ZHETRD_HB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
  262. $ C, 0, W, 1, INFO )
  263. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  264. INFOT = 13
  265. CALL ZHETRD_HB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
  266. $ C, 1, W, 0, INFO )
  267. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  268. NT = NT + 9
  269. *
  270. * ZUNGTR
  271. *
  272. SRNAMT = 'ZUNGTR'
  273. INFOT = 1
  274. CALL ZUNGTR( '/', 0, A, 1, TAU, W, 1, INFO )
  275. CALL CHKXER( 'ZUNGTR', INFOT, NOUT, LERR, OK )
  276. INFOT = 2
  277. CALL ZUNGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
  278. CALL CHKXER( 'ZUNGTR', INFOT, NOUT, LERR, OK )
  279. INFOT = 4
  280. CALL ZUNGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
  281. CALL CHKXER( 'ZUNGTR', INFOT, NOUT, LERR, OK )
  282. INFOT = 7
  283. CALL ZUNGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
  284. CALL CHKXER( 'ZUNGTR', INFOT, NOUT, LERR, OK )
  285. NT = NT + 4
  286. *
  287. * ZUNMTR
  288. *
  289. SRNAMT = 'ZUNMTR'
  290. INFOT = 1
  291. CALL ZUNMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  292. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  293. INFOT = 2
  294. CALL ZUNMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  295. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  296. INFOT = 3
  297. CALL ZUNMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  298. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  299. INFOT = 4
  300. CALL ZUNMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
  301. $ INFO )
  302. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  303. INFOT = 5
  304. CALL ZUNMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
  305. $ INFO )
  306. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  307. INFOT = 7
  308. CALL ZUNMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  309. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  310. INFOT = 7
  311. CALL ZUNMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  312. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  313. INFOT = 10
  314. CALL ZUNMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
  315. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  316. INFOT = 12
  317. CALL ZUNMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  318. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  319. INFOT = 12
  320. CALL ZUNMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  321. CALL CHKXER( 'ZUNMTR', INFOT, NOUT, LERR, OK )
  322. NT = NT + 10
  323. *
  324. * ZHPTRD
  325. *
  326. SRNAMT = 'ZHPTRD'
  327. INFOT = 1
  328. CALL ZHPTRD( '/', 0, A, D, E, TAU, INFO )
  329. CALL CHKXER( 'ZHPTRD', INFOT, NOUT, LERR, OK )
  330. INFOT = 2
  331. CALL ZHPTRD( 'U', -1, A, D, E, TAU, INFO )
  332. CALL CHKXER( 'ZHPTRD', INFOT, NOUT, LERR, OK )
  333. NT = NT + 2
  334. *
  335. * ZUPGTR
  336. *
  337. SRNAMT = 'ZUPGTR'
  338. INFOT = 1
  339. CALL ZUPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
  340. CALL CHKXER( 'ZUPGTR', INFOT, NOUT, LERR, OK )
  341. INFOT = 2
  342. CALL ZUPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
  343. CALL CHKXER( 'ZUPGTR', INFOT, NOUT, LERR, OK )
  344. INFOT = 6
  345. CALL ZUPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
  346. CALL CHKXER( 'ZUPGTR', INFOT, NOUT, LERR, OK )
  347. NT = NT + 3
  348. *
  349. * ZUPMTR
  350. *
  351. SRNAMT = 'ZUPMTR'
  352. INFOT = 1
  353. CALL ZUPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  354. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  355. INFOT = 2
  356. CALL ZUPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  357. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  358. INFOT = 3
  359. CALL ZUPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
  360. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  361. INFOT = 4
  362. CALL ZUPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
  363. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  364. INFOT = 5
  365. CALL ZUPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
  366. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  367. INFOT = 9
  368. CALL ZUPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
  369. CALL CHKXER( 'ZUPMTR', INFOT, NOUT, LERR, OK )
  370. NT = NT + 6
  371. *
  372. * ZPTEQR
  373. *
  374. SRNAMT = 'ZPTEQR'
  375. INFOT = 1
  376. CALL ZPTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  377. CALL CHKXER( 'ZPTEQR', INFOT, NOUT, LERR, OK )
  378. INFOT = 2
  379. CALL ZPTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  380. CALL CHKXER( 'ZPTEQR', INFOT, NOUT, LERR, OK )
  381. INFOT = 6
  382. CALL ZPTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  383. CALL CHKXER( 'ZPTEQR', INFOT, NOUT, LERR, OK )
  384. NT = NT + 3
  385. *
  386. * ZSTEIN
  387. *
  388. SRNAMT = 'ZSTEIN'
  389. INFOT = 1
  390. CALL ZSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  391. CALL CHKXER( 'ZSTEIN', INFOT, NOUT, LERR, OK )
  392. INFOT = 4
  393. CALL ZSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  394. CALL CHKXER( 'ZSTEIN', INFOT, NOUT, LERR, OK )
  395. INFOT = 4
  396. CALL ZSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  397. CALL CHKXER( 'ZSTEIN', INFOT, NOUT, LERR, OK )
  398. INFOT = 9
  399. CALL ZSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  400. CALL CHKXER( 'ZSTEIN', INFOT, NOUT, LERR, OK )
  401. NT = NT + 4
  402. *
  403. * ZSTEQR
  404. *
  405. SRNAMT = 'ZSTEQR'
  406. INFOT = 1
  407. CALL ZSTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  408. CALL CHKXER( 'ZSTEQR', INFOT, NOUT, LERR, OK )
  409. INFOT = 2
  410. CALL ZSTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  411. CALL CHKXER( 'ZSTEQR', INFOT, NOUT, LERR, OK )
  412. INFOT = 6
  413. CALL ZSTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  414. CALL CHKXER( 'ZSTEQR', INFOT, NOUT, LERR, OK )
  415. NT = NT + 3
  416. *
  417. * ZSTEDC
  418. *
  419. SRNAMT = 'ZSTEDC'
  420. INFOT = 1
  421. CALL ZSTEDC( '/', 0, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  422. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  423. INFOT = 2
  424. CALL ZSTEDC( 'N', -1, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  425. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  426. INFOT = 6
  427. CALL ZSTEDC( 'V', 2, D, E, Z, 1, W, 4, RW, 23, IW, 28, INFO )
  428. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  429. INFOT = 8
  430. CALL ZSTEDC( 'N', 2, D, E, Z, 1, W, 0, RW, 1, IW, 1, INFO )
  431. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  432. INFOT = 8
  433. CALL ZSTEDC( 'V', 2, D, E, Z, 2, W, 0, RW, 23, IW, 28, INFO )
  434. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  435. INFOT = 10
  436. CALL ZSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 0, IW, 1, INFO )
  437. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  438. INFOT = 10
  439. CALL ZSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 1, IW, 12, INFO )
  440. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  441. INFOT = 10
  442. CALL ZSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 1, IW, 28, INFO )
  443. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  444. INFOT = 12
  445. CALL ZSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 1, IW, 0, INFO )
  446. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  447. INFOT = 12
  448. CALL ZSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 23, IW, 0, INFO )
  449. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  450. INFOT = 12
  451. CALL ZSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 23, IW, 0, INFO )
  452. CALL CHKXER( 'ZSTEDC', INFOT, NOUT, LERR, OK )
  453. NT = NT + 11
  454. *
  455. * ZHEEVD
  456. *
  457. SRNAMT = 'ZHEEVD'
  458. INFOT = 1
  459. CALL ZHEEVD( '/', 'U', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  460. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  461. INFOT = 2
  462. CALL ZHEEVD( 'N', '/', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  463. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  464. INFOT = 3
  465. CALL ZHEEVD( 'N', 'U', -1, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  466. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  467. INFOT = 5
  468. CALL ZHEEVD( 'N', 'U', 2, A, 1, X, W, 3, RW, 2, IW, 1, INFO )
  469. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  470. INFOT = 8
  471. CALL ZHEEVD( 'N', 'U', 1, A, 1, X, W, 0, RW, 1, IW, 1, INFO )
  472. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  473. INFOT = 8
  474. CALL ZHEEVD( 'N', 'U', 2, A, 2, X, W, 2, RW, 2, IW, 1, INFO )
  475. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  476. INFOT = 8
  477. CALL ZHEEVD( 'V', 'U', 2, A, 2, X, W, 3, RW, 25, IW, 12, INFO )
  478. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  479. INFOT = 10
  480. CALL ZHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 0, IW, 1, INFO )
  481. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  482. INFOT = 10
  483. CALL ZHEEVD( 'N', 'U', 2, A, 2, X, W, 3, RW, 1, IW, 1, INFO )
  484. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  485. INFOT = 10
  486. CALL ZHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 18, IW, 12, INFO )
  487. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  488. INFOT = 12
  489. CALL ZHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 1, IW, 0, INFO )
  490. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  491. INFOT = 12
  492. CALL ZHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 25, IW, 11, INFO )
  493. CALL CHKXER( 'ZHEEVD', INFOT, NOUT, LERR, OK )
  494. NT = NT + 12
  495. *
  496. * ZHEEVD_2STAGE
  497. *
  498. SRNAMT = 'ZHEEVD_2STAGE'
  499. INFOT = 1
  500. CALL ZHEEVD_2STAGE( '/', 'U', 0, A, 1, X, W, 1,
  501. $ RW, 1, IW, 1, INFO )
  502. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  503. INFOT = 1
  504. CALL ZHEEVD_2STAGE( 'V', 'U', 0, A, 1, X, W, 1,
  505. $ RW, 1, IW, 1, INFO )
  506. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  507. INFOT = 2
  508. CALL ZHEEVD_2STAGE( 'N', '/', 0, A, 1, X, W, 1,
  509. $ RW, 1, IW, 1, INFO )
  510. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  511. INFOT = 3
  512. CALL ZHEEVD_2STAGE( 'N', 'U', -1, A, 1, X, W, 1,
  513. $ RW, 1, IW, 1, INFO )
  514. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  515. INFOT = 5
  516. CALL ZHEEVD_2STAGE( 'N', 'U', 2, A, 1, X, W, 3,
  517. $ RW, 2, IW, 1, INFO )
  518. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  519. INFOT = 8
  520. CALL ZHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 0,
  521. $ RW, 1, IW, 1, INFO )
  522. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  523. INFOT = 8
  524. CALL ZHEEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 2,
  525. $ RW, 2, IW, 1, INFO )
  526. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  527. * INFOT = 8
  528. * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 3,
  529. * $ RW, 25, IW, 12, INFO )
  530. * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  531. INFOT = 10
  532. CALL ZHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 1,
  533. $ RW, 0, IW, 1, INFO )
  534. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  535. INFOT = 10
  536. CALL ZHEEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 25,
  537. $ RW, 1, IW, 1, INFO )
  538. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  539. * INFOT = 10
  540. * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
  541. * $ RW, 18, IW, 12, INFO )
  542. * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  543. INFOT = 12
  544. CALL ZHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 1,
  545. $ RW, 1, IW, 0, INFO )
  546. CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  547. INFOT = 12
  548. * CALL ZHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
  549. * $ RW, 25, IW, 11, INFO )
  550. * CALL CHKXER( 'ZHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  551. NT = NT + 10
  552. *
  553. * ZHEEV
  554. *
  555. SRNAMT = 'ZHEEV '
  556. INFOT = 1
  557. CALL ZHEEV( '/', 'U', 0, A, 1, X, W, 1, RW, INFO )
  558. CALL CHKXER( 'ZHEEV ', INFOT, NOUT, LERR, OK )
  559. INFOT = 2
  560. CALL ZHEEV( 'N', '/', 0, A, 1, X, W, 1, RW, INFO )
  561. CALL CHKXER( 'ZHEEV ', INFOT, NOUT, LERR, OK )
  562. INFOT = 3
  563. CALL ZHEEV( 'N', 'U', -1, A, 1, X, W, 1, RW, INFO )
  564. CALL CHKXER( 'ZHEEV ', INFOT, NOUT, LERR, OK )
  565. INFOT = 5
  566. CALL ZHEEV( 'N', 'U', 2, A, 1, X, W, 3, RW, INFO )
  567. CALL CHKXER( 'ZHEEV ', INFOT, NOUT, LERR, OK )
  568. INFOT = 8
  569. CALL ZHEEV( 'N', 'U', 2, A, 2, X, W, 2, RW, INFO )
  570. CALL CHKXER( 'ZHEEV ', INFOT, NOUT, LERR, OK )
  571. NT = NT + 5
  572. *
  573. * ZHEEV_2STAGE
  574. *
  575. SRNAMT = 'ZHEEV_2STAGE '
  576. INFOT = 1
  577. CALL ZHEEV_2STAGE( '/', 'U', 0, A, 1, X, W, 1, RW, INFO )
  578. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  579. INFOT = 1
  580. CALL ZHEEV_2STAGE( 'V', 'U', 0, A, 1, X, W, 1, RW, INFO )
  581. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  582. INFOT = 2
  583. CALL ZHEEV_2STAGE( 'N', '/', 0, A, 1, X, W, 1, RW, INFO )
  584. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  585. INFOT = 3
  586. CALL ZHEEV_2STAGE( 'N', 'U', -1, A, 1, X, W, 1, RW, INFO )
  587. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  588. INFOT = 5
  589. CALL ZHEEV_2STAGE( 'N', 'U', 2, A, 1, X, W, 3, RW, INFO )
  590. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  591. INFOT = 8
  592. CALL ZHEEV_2STAGE( 'N', 'U', 2, A, 2, X, W, 2, RW, INFO )
  593. CALL CHKXER( 'ZHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  594. NT = NT + 6
  595. *
  596. * ZHEEVX
  597. *
  598. SRNAMT = 'ZHEEVX'
  599. INFOT = 1
  600. CALL ZHEEVX( '/', 'A', 'U', 0, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  601. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  602. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  603. INFOT = 2
  604. CALL ZHEEVX( 'V', '/', 'U', 0, A, 1, 0.0D0, 1.0D0, 1, 0, 0.0D0,
  605. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  606. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  607. INFOT = 3
  608. CALL ZHEEVX( 'V', 'A', '/', 0, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  609. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  610. INFOT = 4
  611. CALL ZHEEVX( 'V', 'A', 'U', -1, A, 1, 0.0D0, 0.0D0, 0, 0,
  612. $ 0.0D0, M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  613. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  614. INFOT = 6
  615. CALL ZHEEVX( 'V', 'A', 'U', 2, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  616. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  617. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  618. INFOT = 8
  619. CALL ZHEEVX( 'V', 'V', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  620. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  621. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  622. INFOT = 9
  623. CALL ZHEEVX( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  624. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  625. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  626. INFOT = 10
  627. CALL ZHEEVX( 'V', 'I', 'U', 2, A, 2, 0.0D0, 0.0D0, 2, 1, 0.0D0,
  628. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  629. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  630. INFOT = 15
  631. CALL ZHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  632. $ M, X, Z, 1, W, 3, RW, IW, I3, INFO )
  633. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  634. INFOT = 17
  635. CALL ZHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  636. $ M, X, Z, 2, W, 2, RW, IW, I1, INFO )
  637. CALL CHKXER( 'ZHEEVX', INFOT, NOUT, LERR, OK )
  638. NT = NT + 10
  639. *
  640. * ZHEEVX_2STAGE
  641. *
  642. SRNAMT = 'ZHEEVX_2STAGE'
  643. INFOT = 1
  644. CALL ZHEEVX_2STAGE( '/', 'A', 'U', 0, A, 1,
  645. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  646. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  647. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  648. INFOT = 1
  649. CALL ZHEEVX_2STAGE( 'V', 'A', 'U', 0, A, 1,
  650. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  651. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  652. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  653. INFOT = 2
  654. CALL ZHEEVX_2STAGE( 'N', '/', 'U', 0, A, 1,
  655. $ 0.0D0, 1.0D0, 1, 0, 0.0D0,
  656. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  657. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  658. INFOT = 3
  659. CALL ZHEEVX_2STAGE( 'N', 'A', '/', 0, A, 1,
  660. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  661. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  662. INFOT = 4
  663. CALL ZHEEVX_2STAGE( 'N', 'A', 'U', -1, A, 1,
  664. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  665. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  666. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  667. INFOT = 6
  668. CALL ZHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 1,
  669. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  670. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  671. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  672. INFOT = 8
  673. CALL ZHEEVX_2STAGE( 'N', 'V', 'U', 1, A, 1,
  674. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  675. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  676. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  677. INFOT = 9
  678. CALL ZHEEVX_2STAGE( 'N', 'I', 'U', 1, A, 1,
  679. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  680. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  681. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  682. INFOT = 10
  683. CALL ZHEEVX_2STAGE( 'N', 'I', 'U', 2, A, 2,
  684. $ 0.0D0, 0.0D0, 2, 1, 0.0D0,
  685. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  686. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  687. INFOT = 15
  688. CALL ZHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 2,
  689. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  690. $ M, X, Z, 0, W, 3, RW, IW, I3, INFO )
  691. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  692. INFOT = 17
  693. CALL ZHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 2,
  694. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  695. $ M, X, Z, 2, W, 0, RW, IW, I1, INFO )
  696. CALL CHKXER( 'ZHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  697. NT = NT + 11
  698. *
  699. * ZHEEVR
  700. *
  701. SRNAMT = 'ZHEEVR'
  702. N = 1
  703. INFOT = 1
  704. CALL ZHEEVR( '/', 'A', 'U', 0, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  705. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  706. $ 10*N, INFO )
  707. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  708. INFOT = 2
  709. CALL ZHEEVR( 'V', '/', 'U', 0, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  710. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  711. $ 10*N, INFO )
  712. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  713. INFOT = 3
  714. CALL ZHEEVR( 'V', 'A', '/', -1, A, 1, 0.0D0, 0.0D0, 1, 1,
  715. $ 0.0D0, M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  716. $ IW( 2*N+1 ), 10*N, INFO )
  717. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  718. INFOT = 4
  719. CALL ZHEEVR( 'V', 'A', 'U', -1, A, 1, 0.0D0, 0.0D0, 1, 1,
  720. $ 0.0D0, M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  721. $ IW( 2*N+1 ), 10*N, INFO )
  722. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  723. INFOT = 6
  724. CALL ZHEEVR( 'V', 'A', 'U', 2, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  725. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  726. $ 10*N, INFO )
  727. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  728. INFOT = 8
  729. CALL ZHEEVR( 'V', 'V', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  730. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  731. $ 10*N, INFO )
  732. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  733. INFOT = 9
  734. CALL ZHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 0, 1, 0.0D0,
  735. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  736. $ 10*N, INFO )
  737. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  738. INFOT = 10
  739. *
  740. CALL ZHEEVR( 'V', 'I', 'U', 2, A, 2, 0.0D0, 0.0D0, 2, 1, 0.0D0,
  741. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  742. $ 10*N, INFO )
  743. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  744. INFOT = 15
  745. CALL ZHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  746. $ M, R, Z, 0, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  747. $ 10*N, INFO )
  748. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  749. INFOT = 18
  750. CALL ZHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  751. $ M, R, Z, 1, IW, Q, 0, RW, 24*N, IW( 2*N+1 ),
  752. $ 10*N, INFO )
  753. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  754. INFOT = 20
  755. CALL ZHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  756. $ M, R, Z, 1, IW, Q, 2*N, RW, 0, IW( 2*N-1 ),
  757. $ 10*N, INFO )
  758. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  759. INFOT = 22
  760. CALL ZHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0D0, 0.0D0, 1, 1, 0.0D0,
  761. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW, 0,
  762. $ INFO )
  763. CALL CHKXER( 'ZHEEVR', INFOT, NOUT, LERR, OK )
  764. NT = NT + 12
  765. *
  766. * ZHEEVR_2STAGE
  767. *
  768. SRNAMT = 'ZHEEVR_2STAGE'
  769. N = 1
  770. INFOT = 1
  771. CALL ZHEEVR_2STAGE( '/', 'A', 'U', 0, A, 1,
  772. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  773. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  774. $ 10*N, INFO )
  775. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  776. INFOT = 1
  777. CALL ZHEEVR_2STAGE( 'V', 'A', 'U', 0, A, 1,
  778. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  779. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  780. $ 10*N, INFO )
  781. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  782. INFOT = 2
  783. CALL ZHEEVR_2STAGE( 'N', '/', 'U', 0, A, 1,
  784. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  785. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  786. $ 10*N, INFO )
  787. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  788. INFOT = 3
  789. CALL ZHEEVR_2STAGE( 'N', 'A', '/', -1, A, 1,
  790. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  791. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  792. $ IW( 2*N+1 ), 10*N, INFO )
  793. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  794. INFOT = 4
  795. CALL ZHEEVR_2STAGE( 'N', 'A', 'U', -1, A, 1,
  796. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  797. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  798. $ IW( 2*N+1 ), 10*N, INFO )
  799. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  800. INFOT = 6
  801. CALL ZHEEVR_2STAGE( 'N', 'A', 'U', 2, A, 1,
  802. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  803. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  804. $ 10*N, INFO )
  805. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  806. INFOT = 8
  807. CALL ZHEEVR_2STAGE( 'N', 'V', 'U', 1, A, 1,
  808. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  809. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  810. $ 10*N, INFO )
  811. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  812. INFOT = 9
  813. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  814. $ 0.0D0, 0.0D0, 0, 1, 0.0D0,
  815. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  816. $ 10*N, INFO )
  817. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  818. INFOT = 10
  819. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 2, A, 2,
  820. $ 0.0D0, 0.0D0, 2, 1, 0.0D0,
  821. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  822. $ 10*N, INFO )
  823. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  824. INFOT = 15
  825. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  826. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  827. $ M, R, Z, 0, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  828. $ 10*N, INFO )
  829. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  830. INFOT = 18
  831. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  832. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  833. $ M, R, Z, 1, IW, Q, 0, RW, 24*N, IW( 2*N+1 ),
  834. $ 10*N, INFO )
  835. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  836. INFOT = 20
  837. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  838. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  839. $ M, R, Z, 1, IW, Q, 26*N, RW, 0, IW( 2*N-1 ),
  840. $ 10*N, INFO )
  841. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  842. INFOT = 22
  843. CALL ZHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  844. $ 0.0D0, 0.0D0, 1, 1, 0.0D0,
  845. $ M, R, Z, 1, IW, Q, 26*N, RW, 24*N, IW, 0,
  846. $ INFO )
  847. CALL CHKXER( 'ZHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  848. NT = NT + 13
  849. *
  850. * ZHPEVD
  851. *
  852. SRNAMT = 'ZHPEVD'
  853. INFOT = 1
  854. CALL ZHPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  855. $ INFO )
  856. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  857. INFOT = 2
  858. CALL ZHPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  859. $ INFO )
  860. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  861. INFOT = 3
  862. CALL ZHPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  863. $ INFO )
  864. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  865. INFOT = 7
  866. CALL ZHPEVD( 'V', 'U', 2, A, X, Z, 1, W, 4, RW, 25, IW, 12,
  867. $ INFO )
  868. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  869. INFOT = 9
  870. CALL ZHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, RW, 1, IW, 1,
  871. $ INFO )
  872. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  873. INFOT = 9
  874. CALL ZHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 1, RW, 2, IW, 1,
  875. $ INFO )
  876. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  877. INFOT = 9
  878. CALL ZHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 2, RW, 25, IW, 12,
  879. $ INFO )
  880. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  881. INFOT = 11
  882. CALL ZHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 0, IW, 1,
  883. $ INFO )
  884. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  885. INFOT = 11
  886. CALL ZHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 1, IW, 1,
  887. $ INFO )
  888. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  889. INFOT = 11
  890. CALL ZHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 18, IW, 12,
  891. $ INFO )
  892. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  893. INFOT = 13
  894. CALL ZHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 1, IW, 0,
  895. $ INFO )
  896. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  897. INFOT = 13
  898. CALL ZHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 2, IW, 0,
  899. $ INFO )
  900. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  901. INFOT = 13
  902. CALL ZHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 25, IW, 2,
  903. $ INFO )
  904. CALL CHKXER( 'ZHPEVD', INFOT, NOUT, LERR, OK )
  905. NT = NT + 13
  906. *
  907. * ZHPEV
  908. *
  909. SRNAMT = 'ZHPEV '
  910. INFOT = 1
  911. CALL ZHPEV( '/', 'U', 0, A, X, Z, 1, W, RW, INFO )
  912. CALL CHKXER( 'ZHPEV ', INFOT, NOUT, LERR, OK )
  913. INFOT = 2
  914. CALL ZHPEV( 'N', '/', 0, A, X, Z, 1, W, RW, INFO )
  915. CALL CHKXER( 'ZHPEV ', INFOT, NOUT, LERR, OK )
  916. INFOT = 3
  917. CALL ZHPEV( 'N', 'U', -1, A, X, Z, 1, W, RW, INFO )
  918. CALL CHKXER( 'ZHPEV ', INFOT, NOUT, LERR, OK )
  919. INFOT = 7
  920. CALL ZHPEV( 'V', 'U', 2, A, X, Z, 1, W, RW, INFO )
  921. CALL CHKXER( 'ZHPEV ', INFOT, NOUT, LERR, OK )
  922. NT = NT + 4
  923. *
  924. * ZHPEVX
  925. *
  926. SRNAMT = 'ZHPEVX'
  927. INFOT = 1
  928. CALL ZHPEVX( '/', 'A', 'U', 0, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
  929. $ X, Z, 1, W, RW, IW, I3, INFO )
  930. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  931. INFOT = 2
  932. CALL ZHPEVX( 'V', '/', 'U', 0, A, 0.0D0, 1.0D0, 1, 0, 0.0D0, M,
  933. $ X, Z, 1, W, RW, IW, I3, INFO )
  934. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  935. INFOT = 3
  936. CALL ZHPEVX( 'V', 'A', '/', 0, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
  937. $ X, Z, 1, W, RW, IW, I3, INFO )
  938. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  939. INFOT = 4
  940. CALL ZHPEVX( 'V', 'A', 'U', -1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0,
  941. $ M, X, Z, 1, W, RW, IW, I3, INFO )
  942. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  943. INFOT = 7
  944. CALL ZHPEVX( 'V', 'V', 'U', 1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
  945. $ X, Z, 1, W, RW, IW, I3, INFO )
  946. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  947. INFOT = 8
  948. CALL ZHPEVX( 'V', 'I', 'U', 1, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
  949. $ X, Z, 1, W, RW, IW, I3, INFO )
  950. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  951. INFOT = 9
  952. CALL ZHPEVX( 'V', 'I', 'U', 2, A, 0.0D0, 0.0D0, 2, 1, 0.0D0, M,
  953. $ X, Z, 2, W, RW, IW, I3, INFO )
  954. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  955. INFOT = 14
  956. CALL ZHPEVX( 'V', 'A', 'U', 2, A, 0.0D0, 0.0D0, 0, 0, 0.0D0, M,
  957. $ X, Z, 1, W, RW, IW, I3, INFO )
  958. CALL CHKXER( 'ZHPEVX', INFOT, NOUT, LERR, OK )
  959. NT = NT + 8
  960. *
  961. * Test error exits for the HB path.
  962. *
  963. ELSE IF( LSAMEN( 2, C2, 'HB' ) ) THEN
  964. *
  965. * ZHBTRD
  966. *
  967. SRNAMT = 'ZHBTRD'
  968. INFOT = 1
  969. CALL ZHBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  970. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  971. INFOT = 2
  972. CALL ZHBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  973. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  974. INFOT = 3
  975. CALL ZHBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
  976. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  977. INFOT = 4
  978. CALL ZHBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
  979. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  980. INFOT = 6
  981. CALL ZHBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
  982. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  983. INFOT = 10
  984. CALL ZHBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
  985. CALL CHKXER( 'ZHBTRD', INFOT, NOUT, LERR, OK )
  986. NT = NT + 6
  987. *
  988. * ZHETRD_HB2ST
  989. *
  990. SRNAMT = 'ZHETRD_HB2ST'
  991. INFOT = 1
  992. CALL ZHETRD_HB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
  993. $ C, 1, W, 1, INFO )
  994. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  995. INFOT = 2
  996. CALL ZHETRD_HB2ST( 'N', '/', 'U', 0, 0, A, 1, D, E,
  997. $ C, 1, W, 1, INFO )
  998. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  999. INFOT = 2
  1000. CALL ZHETRD_HB2ST( 'N', 'H', 'U', 0, 0, A, 1, D, E,
  1001. $ C, 1, W, 1, INFO )
  1002. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1003. INFOT = 3
  1004. CALL ZHETRD_HB2ST( 'N', 'N', '/', 0, 0, A, 1, D, E,
  1005. $ C, 1, W, 1, INFO )
  1006. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1007. INFOT = 4
  1008. CALL ZHETRD_HB2ST( 'N', 'N', 'U', -1, 0, A, 1, D, E,
  1009. $ C, 1, W, 1, INFO )
  1010. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1011. INFOT = 5
  1012. CALL ZHETRD_HB2ST( 'N', 'N', 'U', 0, -1, A, 1, D, E,
  1013. $ C, 1, W, 1, INFO )
  1014. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1015. INFOT = 7
  1016. CALL ZHETRD_HB2ST( 'N', 'N', 'U', 0, 1, A, 1, D, E,
  1017. $ C, 1, W, 1, INFO )
  1018. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1019. INFOT = 11
  1020. CALL ZHETRD_HB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
  1021. $ C, 0, W, 1, INFO )
  1022. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1023. INFOT = 13
  1024. CALL ZHETRD_HB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
  1025. $ C, 1, W, 0, INFO )
  1026. CALL CHKXER( 'ZHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1027. NT = NT + 9
  1028. *
  1029. * ZHBEVD
  1030. *
  1031. SRNAMT = 'ZHBEVD'
  1032. INFOT = 1
  1033. CALL ZHBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  1034. $ INFO )
  1035. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1036. INFOT = 2
  1037. CALL ZHBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  1038. $ INFO )
  1039. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1040. INFOT = 3
  1041. CALL ZHBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  1042. $ 1, INFO )
  1043. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1044. INFOT = 4
  1045. CALL ZHBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  1046. $ 1, INFO )
  1047. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1048. INFOT = 6
  1049. CALL ZHBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 2, RW, 2, IW, 1,
  1050. $ INFO )
  1051. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1052. INFOT = 9
  1053. CALL ZHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 8, RW, 25, IW,
  1054. $ 12, INFO )
  1055. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1056. INFOT = 11
  1057. CALL ZHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, RW, 1, IW, 1,
  1058. $ INFO )
  1059. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1060. INFOT = 11
  1061. CALL ZHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 1, RW, 2, IW, 1,
  1062. $ INFO )
  1063. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1064. INFOT = 11
  1065. CALL ZHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 25, IW,
  1066. $ 12, INFO )
  1067. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1068. INFOT = 13
  1069. CALL ZHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 0, IW, 1,
  1070. $ INFO )
  1071. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1072. INFOT = 13
  1073. CALL ZHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 1, IW, 1,
  1074. $ INFO )
  1075. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1076. INFOT = 13
  1077. CALL ZHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 2, IW,
  1078. $ 12, INFO )
  1079. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1080. INFOT = 15
  1081. CALL ZHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 0,
  1082. $ INFO )
  1083. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1084. INFOT = 15
  1085. CALL ZHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 2, IW, 0,
  1086. $ INFO )
  1087. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1088. INFOT = 15
  1089. CALL ZHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 25, IW,
  1090. $ 2, INFO )
  1091. CALL CHKXER( 'ZHBEVD', INFOT, NOUT, LERR, OK )
  1092. NT = NT + 15
  1093. *
  1094. * ZHBEVD_2STAGE
  1095. *
  1096. SRNAMT = 'ZHBEVD_2STAGE'
  1097. INFOT = 1
  1098. CALL ZHBEVD_2STAGE( '/', 'U', 0, 0, A, 1, X, Z, 1,
  1099. $ W, 1, RW, 1, IW, 1, INFO )
  1100. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1101. INFOT = 1
  1102. CALL ZHBEVD_2STAGE( 'V', 'U', 0, 0, A, 1, X, Z, 1,
  1103. $ W, 1, RW, 1, IW, 1, INFO )
  1104. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1105. INFOT = 2
  1106. CALL ZHBEVD_2STAGE( 'N', '/', 0, 0, A, 1, X, Z, 1,
  1107. $ W, 1, RW, 1, IW, 1, INFO )
  1108. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1109. INFOT = 3
  1110. CALL ZHBEVD_2STAGE( 'N', 'U', -1, 0, A, 1, X, Z, 1,
  1111. $ W, 1, RW, 1, IW, 1, INFO )
  1112. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1113. INFOT = 4
  1114. CALL ZHBEVD_2STAGE( 'N', 'U', 0, -1, A, 1, X, Z, 1,
  1115. $ W, 1, RW, 1, IW, 1, INFO )
  1116. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1117. INFOT = 6
  1118. CALL ZHBEVD_2STAGE( 'N', 'U', 2, 1, A, 1, X, Z, 1,
  1119. $ W, 2, RW, 2, IW, 1, INFO )
  1120. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1121. INFOT = 9
  1122. CALL ZHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 0,
  1123. $ W, 8, RW, 25, IW, 12, INFO )
  1124. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1125. INFOT = 11
  1126. CALL ZHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1127. $ W, 0, RW, 1, IW, 1, INFO )
  1128. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1129. INFOT = 11
  1130. CALL ZHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1131. $ W, 1, RW, 2, IW, 1, INFO )
  1132. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1133. * INFOT = 11
  1134. * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1135. * $ W, 2, RW, 25, IW, 12, INFO )
  1136. * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1137. INFOT = 13
  1138. CALL ZHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1139. $ W, 1, RW, 0, IW, 1, INFO )
  1140. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1141. INFOT = 13
  1142. CALL ZHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1143. $ W, 25, RW, 1, IW, 1, INFO )
  1144. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1145. * INFOT = 13
  1146. * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1147. * $ W, 25, RW, 2, IW, 12, INFO )
  1148. * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1149. INFOT = 15
  1150. CALL ZHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1151. $ W, 1, RW, 1, IW, 0, INFO )
  1152. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1153. INFOT = 15
  1154. CALL ZHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1155. $ W, 25, RW, 2, IW, 0, INFO )
  1156. CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1157. * INFOT = 15
  1158. * CALL ZHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1159. * $ W, 25, RW, 25, IW, 2, INFO )
  1160. * CALL CHKXER( 'ZHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1161. NT = NT + 13
  1162. *
  1163. * ZHBEV
  1164. *
  1165. SRNAMT = 'ZHBEV '
  1166. INFOT = 1
  1167. CALL ZHBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  1168. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1169. INFOT = 2
  1170. CALL ZHBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  1171. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1172. INFOT = 3
  1173. CALL ZHBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, RW, INFO )
  1174. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1175. INFOT = 4
  1176. CALL ZHBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, RW, INFO )
  1177. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1178. INFOT = 6
  1179. CALL ZHBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, RW, INFO )
  1180. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1181. INFOT = 9
  1182. CALL ZHBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, RW, INFO )
  1183. CALL CHKXER( 'ZHBEV ', INFOT, NOUT, LERR, OK )
  1184. NT = NT + 6
  1185. *
  1186. * ZHBEV_2STAGE
  1187. *
  1188. SRNAMT = 'ZHBEV_2STAGE '
  1189. INFOT = 1
  1190. CALL ZHBEV_2STAGE( '/', 'U', 0, 0, A, 1, X,
  1191. $ Z, 1, W, 0, RW, INFO )
  1192. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1193. INFOT = 1
  1194. CALL ZHBEV_2STAGE( 'V', 'U', 0, 0, A, 1, X,
  1195. $ Z, 1, W, 0, RW, INFO )
  1196. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1197. INFOT = 2
  1198. CALL ZHBEV_2STAGE( 'N', '/', 0, 0, A, 1, X,
  1199. $ Z, 1, W, 0, RW, INFO )
  1200. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1201. INFOT = 3
  1202. CALL ZHBEV_2STAGE( 'N', 'U', -1, 0, A, 1, X,
  1203. $ Z, 1, W, 0, RW, INFO )
  1204. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1205. INFOT = 4
  1206. CALL ZHBEV_2STAGE( 'N', 'U', 0, -1, A, 1, X,
  1207. $ Z, 1, W, 0, RW, INFO )
  1208. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1209. INFOT = 6
  1210. CALL ZHBEV_2STAGE( 'N', 'U', 2, 1, A, 1, X,
  1211. $ Z, 1, W, 0, RW, INFO )
  1212. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1213. INFOT = 9
  1214. CALL ZHBEV_2STAGE( 'N', 'U', 2, 0, A, 1, X,
  1215. $ Z, 0, W, 0, RW, INFO )
  1216. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1217. INFOT = 11
  1218. CALL ZHBEV_2STAGE( 'N', 'U', 2, 0, A, 1, X,
  1219. $ Z, 1, W, 0, RW, INFO )
  1220. CALL CHKXER( 'ZHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1221. NT = NT + 8
  1222. *
  1223. * ZHBEVX
  1224. *
  1225. SRNAMT = 'ZHBEVX'
  1226. INFOT = 1
  1227. CALL ZHBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1228. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1229. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1230. INFOT = 2
  1231. CALL ZHBEVX( 'V', '/', 'U', 0, 0, A, 1, Q, 1, 0.0D0, 1.0D0, 1,
  1232. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1233. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1234. INFOT = 3
  1235. CALL ZHBEVX( 'V', 'A', '/', 0, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1236. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1237. INFOT = 4
  1238. CALL ZHBEVX( 'V', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1239. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1240. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1241. INFOT = 5
  1242. CALL ZHBEVX( 'V', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1243. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1244. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1245. INFOT = 7
  1246. CALL ZHBEVX( 'V', 'A', 'U', 2, 1, A, 1, Q, 2, 0.0D0, 0.0D0, 0,
  1247. $ 0, 0.0D0, M, X, Z, 2, W, RW, IW, I3, INFO )
  1248. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1249. INFOT = 9
  1250. CALL ZHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1251. $ 0, 0.0D0, M, X, Z, 2, W, RW, IW, I3, INFO )
  1252. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1253. INFOT = 11
  1254. CALL ZHBEVX( 'V', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1255. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1256. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1257. INFOT = 12
  1258. CALL ZHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 0,
  1259. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1260. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1261. INFOT = 13
  1262. CALL ZHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0D0, 0.0D0, 1,
  1263. $ 2, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1264. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1265. INFOT = 18
  1266. CALL ZHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0D0, 0.0D0, 0,
  1267. $ 0, 0.0D0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1268. CALL CHKXER( 'ZHBEVX', INFOT, NOUT, LERR, OK )
  1269. NT = NT + 11
  1270. *
  1271. * ZHBEVX_2STAGE
  1272. *
  1273. SRNAMT = 'ZHBEVX_2STAGE'
  1274. INFOT = 1
  1275. CALL ZHBEVX_2STAGE( '/', 'A', 'U', 0, 0, A, 1, Q, 1,
  1276. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1277. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1278. INFOT = 1
  1279. CALL ZHBEVX_2STAGE( 'V', 'A', 'U', 0, 0, A, 1, Q, 1,
  1280. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1281. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1282. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1283. INFOT = 2
  1284. CALL ZHBEVX_2STAGE( 'N', '/', 'U', 0, 0, A, 1, Q, 1,
  1285. $ 0.0D0, 1.0D0, 1, 0, 0.0D0,
  1286. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1287. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1288. INFOT = 3
  1289. CALL ZHBEVX_2STAGE( 'N', 'A', '/', 0, 0, A, 1, Q, 1,
  1290. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1291. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1292. INFOT = 4
  1293. CALL ZHBEVX_2STAGE( 'N', 'A', 'U', -1, 0, A, 1, Q, 1,
  1294. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1295. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1296. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1297. INFOT = 5
  1298. CALL ZHBEVX_2STAGE( 'N', 'A', 'U', 0, -1, A, 1, Q, 1,
  1299. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1300. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1301. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1302. INFOT = 7
  1303. CALL ZHBEVX_2STAGE( 'N', 'A', 'U', 2, 1, A, 1, Q, 2,
  1304. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1305. $ M, X, Z, 2, W, 0, RW, IW, I3, INFO )
  1306. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1307. * INFOT = 9
  1308. * CALL ZHBEVX_2STAGE( 'V', 'A', 'U', 2, 0, A, 1, Q, 1,
  1309. * $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1310. * $ M, X, Z, 2, W, 0, RW, IW, I3, INFO )
  1311. * CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1312. INFOT = 11
  1313. CALL ZHBEVX_2STAGE( 'N', 'V', 'U', 1, 0, A, 1, Q, 1,
  1314. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1315. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1316. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1317. INFOT = 12
  1318. CALL ZHBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1,
  1319. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1320. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1321. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1322. INFOT = 13
  1323. CALL ZHBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1,
  1324. $ 0.0D0, 0.0D0, 1, 2, 0.0D0,
  1325. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1326. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1327. INFOT = 18
  1328. CALL ZHBEVX_2STAGE( 'N', 'A', 'U', 2, 0, A, 1, Q, 2,
  1329. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1330. $ M, X, Z, 0, W, 0, RW, IW, I3, INFO )
  1331. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1332. INFOT = 20
  1333. CALL ZHBEVX_2STAGE( 'N', 'A', 'U', 2, 0, A, 1, Q, 2,
  1334. $ 0.0D0, 0.0D0, 0, 0, 0.0D0,
  1335. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1336. CALL CHKXER( 'ZHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1337. NT = NT + 12
  1338. END IF
  1339. *
  1340. * Print a summary line.
  1341. *
  1342. IF( OK ) THEN
  1343. WRITE( NOUT, FMT = 9999 )PATH, NT
  1344. ELSE
  1345. WRITE( NOUT, FMT = 9998 )PATH
  1346. END IF
  1347. *
  1348. 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
  1349. $ ' (', I3, ' tests done)' )
  1350. 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
  1351. $ 'exits ***' )
  1352. *
  1353. RETURN
  1354. *
  1355. * End of ZERRST
  1356. *
  1357. END