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

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