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 56 kB

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