PageRenderTime 66ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/thirdPartyCode/CLAPACK/TESTING/EIG/dchkee.c

https://bitbucket.org/rutad/libs
C | 3127 lines | 1825 code | 172 blank | 1130 comment | 390 complexity | 28d96679865987373a96538864497978 MD5 | raw file
Possible License(s): BSD-3-Clause, MPL-2.0-no-copyleft-exception, GPL-3.0

Large files files are truncated, but you can click here to view the full file

  1. #include "blaswrap.h"
  2. /* -- translated by f2c (version 19990503).
  3. You must link the resulting object file with the libraries:
  4. -lf2c -lm (in that order)
  5. */
  6. #include "f2c.h"
  7. /* Common Block Declarations */
  8. struct {
  9. integer nproc, nshift, maxb;
  10. } cenvir_;
  11. #define cenvir_1 cenvir_
  12. struct {
  13. integer infot, nunit;
  14. logical ok, lerr;
  15. } infoc_;
  16. #define infoc_1 infoc_
  17. struct {
  18. char srnamt[6];
  19. } srnamc_;
  20. #define srnamc_1 srnamc_
  21. struct {
  22. integer selopt, seldim;
  23. logical selval[20];
  24. doublereal selwr[20], selwi[20];
  25. } sslct_;
  26. #define sslct_1 sslct_
  27. struct {
  28. integer iparms[100];
  29. } zlaenv_;
  30. #define zlaenv_1 zlaenv_
  31. /* Table of constant values */
  32. static integer c__1 = 1;
  33. static integer c__3 = 3;
  34. static integer c__5 = 5;
  35. static integer c__6 = 6;
  36. static integer c__20 = 20;
  37. static integer c__0 = 0;
  38. static integer c__132 = 132;
  39. static integer c__2 = 2;
  40. static integer c__4 = 4;
  41. static integer c__8 = 8;
  42. static integer c__87781 = 87781;
  43. static integer c__9 = 9;
  44. static integer c__25 = 25;
  45. static integer c__89760 = 89760;
  46. static integer c__18 = 18;
  47. static integer c__400 = 400;
  48. static integer c__89758 = 89758;
  49. static integer c__264 = 264;
  50. /* Main program */ MAIN__(void)
  51. {
  52. /* Initialized data */
  53. static char intstr[10] = "0123456789";
  54. static integer ioldsd[4] = { 0,0,0,1 };
  55. /* Format strings */
  56. static char fmt_9987[] = "(\002 Tests of the Nonsymmetric Eigenvalue Pro"
  57. "blem routines\002)";
  58. static char fmt_9986[] = "(\002 Tests of the Symmetric Eigenvalue Proble"
  59. "m routines\002)";
  60. static char fmt_9985[] = "(\002 Tests of the Singular Value Decompositio"
  61. "n routines\002)";
  62. static char fmt_9979[] = "(/\002 Tests of the Nonsymmetric Eigenvalue Pr"
  63. "oblem Driver\002,/\002 DGEEV (eigenvalues and eigevectors)"
  64. "\002)";
  65. static char fmt_9978[] = "(/\002 Tests of the Nonsymmetric Eigenvalue Pr"
  66. "oblem Driver\002,/\002 DGEES (Schur form)\002)";
  67. static char fmt_9977[] = "(/\002 Tests of the Nonsymmetric Eigenvalue Pr"
  68. "oblem Expert\002,\002 Driver\002,/\002 DGEEVX (eigenvalues, e"
  69. "igenvectors and\002,\002 condition numbers)\002)";
  70. static char fmt_9976[] = "(/\002 Tests of the Nonsymmetric Eigenvalue Pr"
  71. "oblem Expert\002,\002 Driver\002,/\002 DGEESX (Schur form and"
  72. " condition\002,\002 numbers)\002)";
  73. static char fmt_9975[] = "(/\002 Tests of the Generalized Nonsymmetric E"
  74. "igenvalue \002,\002Problem routines\002)";
  75. static char fmt_9964[] = "(/\002 Tests of the Generalized Nonsymmetric E"
  76. "igenvalue \002,\002Problem Driver DGGES\002)";
  77. static char fmt_9965[] = "(/\002 Tests of the Generalized Nonsymmetric E"
  78. "igenvalue \002,\002Problem Expert Driver DGGESX\002)";
  79. static char fmt_9963[] = "(/\002 Tests of the Generalized Nonsymmetric E"
  80. "igenvalue \002,\002Problem Driver DGGEV\002)";
  81. static char fmt_9962[] = "(/\002 Tests of the Generalized Nonsymmetric E"
  82. "igenvalue \002,\002Problem Expert Driver DGGEVX\002)";
  83. static char fmt_9974[] = "(\002 Tests of DSBTRD\002,/\002 (reduction of "
  84. "a symmetric band \002,\002matrix to tridiagonal form)\002)";
  85. static char fmt_9967[] = "(\002 Tests of DGBBRD\002,/\002 (reduction of "
  86. "a general band \002,\002matrix to real bidiagonal form)\002)";
  87. static char fmt_9971[] = "(/\002 Tests of the Generalized Linear Regress"
  88. "ion Model \002,\002routines\002)";
  89. static char fmt_9970[] = "(/\002 Tests of the Generalized QR and RQ rout"
  90. "ines\002)";
  91. static char fmt_9969[] = "(/\002 Tests of the Generalized Singular Valu"
  92. "e\002,\002 Decomposition routines\002)";
  93. static char fmt_9968[] = "(/\002 Tests of the Linear Least Squares routi"
  94. "nes\002)";
  95. static char fmt_9992[] = "(1x,a3,\002: Unrecognized path name\002)";
  96. static char fmt_9972[] = "(/\002 LAPACK VERSION 3.0, released June 30, 1"
  97. "999 \002)";
  98. static char fmt_9984[] = "(/\002 The following parameter values will be "
  99. "used:\002)";
  100. static char fmt_9989[] = "(\002 Invalid input value: \002,a6,\002=\002,i"
  101. "6,\002; must be >=\002,i6)";
  102. static char fmt_9988[] = "(\002 Invalid input value: \002,a6,\002=\002,i"
  103. "6,\002; must be <=\002,i6)";
  104. static char fmt_9983[] = "(4x,a6,10i6,/10x,10i6)";
  105. static char fmt_9981[] = "(\002 Relative machine \002,a,\002 is taken to"
  106. " be\002,d16.6)";
  107. static char fmt_9982[] = "(/\002 Routines pass computational tests if te"
  108. "st ratio is \002,\002less than\002,f8.2,/)";
  109. static char fmt_9999[] = "(/\002 Execution not attempted due to input er"
  110. "rors\002)";
  111. static char fmt_9991[] = "(//\002 *** Invalid integer value in column"
  112. " \002,i2,\002 of input\002,\002 line:\002,/a79)";
  113. static char fmt_9990[] = "(//1x,a3,\002 routines were not tested\002)";
  114. static char fmt_9998[] = "(//1x,a3,\002: NB =\002,i4,\002, NBMIN =\002,"
  115. "i4,\002, NX =\002,i4,\002, NS =\002,i4,\002, MAXB =\002,i4)";
  116. static char fmt_9980[] = "(\002 *** Error code from \002,a6,\002 = \002,"
  117. "i4)";
  118. static char fmt_9997[] = "(//1x,a3,\002: NB =\002,i4,\002, NBMIN =\002,"
  119. "i4,\002, NX =\002,i4)";
  120. static char fmt_9995[] = "(//1x,a3,\002: NB =\002,i4,\002, NBMIN =\002,"
  121. "i4,\002, NX =\002,i4,\002, NRHS =\002,i4)";
  122. static char fmt_9973[] = "(/1x,71(\002-\002))";
  123. static char fmt_9996[] = "(//1x,a3,\002: NB =\002,i4,\002, NBMIN =\002,"
  124. "i4,\002, NS =\002,i4,\002, MAXB =\002,i4,\002, NBCOL =\002,i4)";
  125. static char fmt_9966[] = "(//1x,a3,\002: NRHS =\002,i4)";
  126. static char fmt_9994[] = "(//\002 End of tests\002)";
  127. static char fmt_9993[] = "(\002 Total time used = \002,f12.2,\002 seco"
  128. "nds\002,/)";
  129. /* System generated locals */
  130. integer i__1;
  131. doublereal d__1;
  132. /* Builtin functions */
  133. integer s_rsfe(cilist *), do_fio(integer *, char *, ftnlen), e_rsfe(void);
  134. /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);
  135. integer s_cmp(char *, char *, ftnlen, ftnlen), s_wsfe(cilist *), e_wsfe(
  136. void), s_rsle(cilist *), do_lio(integer *, integer *, char *,
  137. ftnlen), e_rsle(void), s_wsle(cilist *), e_wsle(void);
  138. /* Subroutine */ int s_stop(char *, ftnlen);
  139. integer i_len(char *, ftnlen);
  140. /* Local variables */
  141. static char line[80];
  142. static doublereal taua[132];
  143. static integer info;
  144. static char path[3];
  145. static integer kval[20], lenp, mval[20], nval[20];
  146. static doublereal taub[132];
  147. static integer pval[20], itmp, nrhs;
  148. static doublereal work[87781], a[243936] /* was [17424][14] */, b[
  149. 87120] /* was [17424][5] */, c__[160000] /* was [400][
  150. 400] */, d__[1584] /* was [132][12] */;
  151. static integer i__, k;
  152. static logical fatal;
  153. static doublereal x[660];
  154. static integer iseed[4], nbcol[20], nbval[20], nbmin[20];
  155. static char vname[6];
  156. static integer newsd, nsval[20];
  157. static char c1[1], c3[3];
  158. static integer nxval[20], i1, iwork[89760];
  159. static doublereal s1, s2;
  160. static integer ic;
  161. extern /* Subroutine */ int dchkbb_(integer *, integer *, integer *,
  162. integer *, integer *, integer *, logical *, integer *, integer *,
  163. doublereal *, integer *, doublereal *, integer *, doublereal *,
  164. integer *, doublereal *, doublereal *, doublereal *, integer *,
  165. doublereal *, integer *, doublereal *, integer *, doublereal *,
  166. doublereal *, integer *, doublereal *, integer *), dchkbd_(
  167. integer *, integer *, integer *, integer *, logical *, integer *,
  168. integer *, doublereal *, doublereal *, integer *, doublereal *,
  169. doublereal *, doublereal *, doublereal *, doublereal *, integer *,
  170. doublereal *, doublereal *, doublereal *, integer *, doublereal *
  171. , integer *, doublereal *, doublereal *, doublereal *, integer *,
  172. integer *, integer *, integer *), dchkec_(doublereal *, logical *,
  173. integer *, integer *), dchkbk_(integer *, integer *), dchkbl_(
  174. integer *, integer *);
  175. extern doublereal dlamch_(char *);
  176. static integer nk;
  177. extern /* Subroutine */ int dchkgg_(integer *, integer *, integer *,
  178. logical *, integer *, doublereal *, logical *, doublereal *,
  179. integer *, doublereal *, integer *, doublereal *, doublereal *,
  180. doublereal *, doublereal *, doublereal *, doublereal *,
  181. doublereal *, doublereal *, integer *, doublereal *, doublereal *,
  182. doublereal *, doublereal *, doublereal *, doublereal *,
  183. doublereal *, doublereal *, doublereal *, doublereal *,
  184. doublereal *, doublereal *, integer *, logical *, doublereal *,
  185. integer *), dchkgk_(integer *, integer *);
  186. static integer nn;
  187. extern /* Subroutine */ int dchkgl_(integer *, integer *), dchksb_(
  188. integer *, integer *, integer *, integer *, integer *, logical *,
  189. integer *, doublereal *, integer *, doublereal *, integer *,
  190. doublereal *, doublereal *, doublereal *, integer *, doublereal *,
  191. integer *, doublereal *, integer *);
  192. extern doublereal dsecnd_(void);
  193. extern /* Subroutine */ int dckglm_(integer *, integer *, integer *,
  194. integer *, integer *, integer *, doublereal *, integer *,
  195. doublereal *, doublereal *, doublereal *, doublereal *,
  196. doublereal *, doublereal *, doublereal *, integer *, integer *,
  197. integer *), derrbd_(char *, integer *), dchkhs_(integer *,
  198. integer *, integer *, logical *, integer *, doublereal *,
  199. integer *, doublereal *, integer *, doublereal *, doublereal *,
  200. doublereal *, doublereal *, integer *, doublereal *, doublereal *,
  201. doublereal *, doublereal *, doublereal *, doublereal *,
  202. doublereal *, doublereal *, doublereal *, doublereal *,
  203. doublereal *, doublereal *, doublereal *, integer *, integer *,
  204. logical *, doublereal *, integer *), alareq_(char *, integer *,
  205. logical *, integer *, integer *, integer *), dcklse_(
  206. integer *, integer *, integer *, integer *, integer *, integer *,
  207. doublereal *, integer *, doublereal *, doublereal *, doublereal *,
  208. doublereal *, doublereal *, doublereal *, doublereal *, integer *
  209. , integer *, integer *), ddrvbd_(integer *, integer *, integer *,
  210. integer *, logical *, integer *, doublereal *, doublereal *,
  211. integer *, doublereal *, integer *, doublereal *, integer *,
  212. doublereal *, doublereal *, doublereal *, doublereal *,
  213. doublereal *, doublereal *, doublereal *, integer *, integer *,
  214. integer *, integer *), ddrges_(integer *, integer *, integer *,
  215. logical *, integer *, doublereal *, integer *, doublereal *,
  216. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  217. integer *, doublereal *, doublereal *, doublereal *, doublereal *
  218. , doublereal *, integer *, doublereal *, logical *, integer *),
  219. derred_(char *, integer *), derrgg_(char *, integer *), dckgqr_(integer *, integer *, integer *, integer *,
  220. integer *, integer *, integer *, integer *, doublereal *, integer
  221. *, doublereal *, doublereal *, doublereal *, doublereal *,
  222. doublereal *, doublereal *, doublereal *, doublereal *,
  223. doublereal *, doublereal *, doublereal *, doublereal *,
  224. doublereal *, integer *, integer *, integer *), ddrgev_(integer *,
  225. integer *, integer *, logical *, integer *, doublereal *,
  226. integer *, doublereal *, integer *, doublereal *, doublereal *,
  227. doublereal *, doublereal *, integer *, doublereal *, doublereal *,
  228. integer *, doublereal *, doublereal *, doublereal *, doublereal *
  229. , doublereal *, doublereal *, doublereal *, integer *, doublereal
  230. *, integer *), ddrvgg_(integer *, integer *, integer *, logical *,
  231. integer *, doublereal *, doublereal *, integer *, doublereal *,
  232. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  233. doublereal *, doublereal *, integer *, doublereal *, doublereal *
  234. , doublereal *, doublereal *, doublereal *, doublereal *,
  235. doublereal *, doublereal *, doublereal *, doublereal *, integer *,
  236. doublereal *, integer *);
  237. extern logical lsamen_(integer *, char *, char *);
  238. extern /* Subroutine */ int dchkst_(integer *, integer *, integer *,
  239. logical *, integer *, doublereal *, integer *, doublereal *,
  240. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  241. doublereal *, doublereal *, doublereal *, doublereal *,
  242. doublereal *, doublereal *, doublereal *, doublereal *,
  243. doublereal *, integer *, doublereal *, doublereal *, doublereal *,
  244. doublereal *, doublereal *, integer *, integer *, integer *,
  245. doublereal *, integer *), dckgsv_(integer *, integer *, integer *,
  246. integer *, integer *, integer *, doublereal *, integer *,
  247. doublereal *, doublereal *, doublereal *, doublereal *,
  248. doublereal *, doublereal *, doublereal *, doublereal *,
  249. doublereal *, doublereal *, integer *, doublereal *, doublereal *,
  250. integer *, integer *, integer *), ddrves_(integer *, integer *,
  251. integer *, logical *, integer *, doublereal *, integer *,
  252. doublereal *, integer *, doublereal *, doublereal *, doublereal *,
  253. doublereal *, doublereal *, doublereal *, doublereal *, integer *
  254. , doublereal *, doublereal *, integer *, integer *, logical *,
  255. integer *), derrhs_(char *, integer *);
  256. static integer mxbval[20];
  257. extern /* Subroutine */ int ddrvev_(integer *, integer *, integer *,
  258. logical *, integer *, doublereal *, integer *, doublereal *,
  259. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  260. doublereal *, doublereal *, integer *, doublereal *, integer *,
  261. doublereal *, integer *, doublereal *, doublereal *, integer *,
  262. integer *, integer *), ddrgsx_(integer *, integer *, doublereal *,
  263. integer *, integer *, doublereal *, integer *, doublereal *,
  264. doublereal *, doublereal *, doublereal *, doublereal *,
  265. doublereal *, doublereal *, doublereal *, doublereal *, integer *,
  266. doublereal *, doublereal *, integer *, integer *, integer *,
  267. logical *, integer *), ddrvsg_(integer *, integer *, integer *,
  268. logical *, integer *, doublereal *, integer *, doublereal *,
  269. integer *, doublereal *, integer *, doublereal *, doublereal *,
  270. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  271. doublereal *, integer *, integer *, integer *, doublereal *,
  272. integer *);
  273. static logical tstdif;
  274. static doublereal thresh;
  275. extern /* Subroutine */ int ddrgvx_(integer *, doublereal *, integer *,
  276. integer *, doublereal *, integer *, doublereal *, doublereal *,
  277. doublereal *, doublereal *, doublereal *, doublereal *,
  278. doublereal *, doublereal *, integer *, integer *, doublereal *,
  279. doublereal *, doublereal *, doublereal *, doublereal *,
  280. doublereal *, doublereal *, integer *, integer *, integer *,
  281. doublereal *, logical *, integer *);
  282. static logical tstchk;
  283. static integer nparms;
  284. extern /* Subroutine */ int xlaenv_(integer *, integer *), derrst_(char *,
  285. integer *);
  286. static logical dotype[30], logwrk[132];
  287. static doublereal thrshn;
  288. extern /* Subroutine */ int ddrvst_(integer *, integer *, integer *,
  289. logical *, integer *, doublereal *, integer *, doublereal *,
  290. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  291. doublereal *, doublereal *, doublereal *, doublereal *,
  292. doublereal *, integer *, doublereal *, doublereal *, doublereal *,
  293. doublereal *, integer *, integer *, integer *, doublereal *,
  294. integer *), ddrvsx_(integer *, integer *, integer *, logical *,
  295. integer *, doublereal *, integer *, integer *, doublereal *,
  296. integer *, doublereal *, doublereal *, doublereal *, doublereal *,
  297. doublereal *, doublereal *, doublereal *, doublereal *,
  298. doublereal *, integer *, doublereal *, doublereal *, doublereal *,
  299. integer *, integer *, logical *, integer *), ddrvvx_(integer *,
  300. integer *, integer *, logical *, integer *, doublereal *, integer
  301. *, integer *, doublereal *, integer *, doublereal *, doublereal *,
  302. doublereal *, doublereal *, doublereal *, doublereal *, integer *
  303. , doublereal *, integer *, doublereal *, integer *, doublereal *,
  304. doublereal *, doublereal *, doublereal *, doublereal *,
  305. doublereal *, doublereal *, doublereal *, doublereal *,
  306. doublereal *, integer *, integer *, integer *);
  307. static doublereal result[500];
  308. static integer maxtyp;
  309. static logical tsterr;
  310. static integer ntypes;
  311. static logical tstdrv, dbb, dbk, dgg, dbl, dgk, dgl, dsb, des, dgs, dev,
  312. glm, dgv, nep, lse, dgx, sep;
  313. static doublereal eps;
  314. static logical gqr, svd, dsx, gsv, dvx, dxv;
  315. /* Fortran I/O blocks */
  316. static cilist io___5 = { 0, 5, 1, "(A80)", 0 };
  317. static cilist io___30 = { 0, 6, 0, fmt_9987, 0 };
  318. static cilist io___31 = { 0, 6, 0, fmt_9986, 0 };
  319. static cilist io___32 = { 0, 6, 0, fmt_9985, 0 };
  320. static cilist io___33 = { 0, 6, 0, fmt_9979, 0 };
  321. static cilist io___34 = { 0, 6, 0, fmt_9978, 0 };
  322. static cilist io___35 = { 0, 6, 0, fmt_9977, 0 };
  323. static cilist io___36 = { 0, 6, 0, fmt_9976, 0 };
  324. static cilist io___37 = { 0, 6, 0, fmt_9975, 0 };
  325. static cilist io___38 = { 0, 6, 0, fmt_9964, 0 };
  326. static cilist io___39 = { 0, 6, 0, fmt_9965, 0 };
  327. static cilist io___40 = { 0, 6, 0, fmt_9963, 0 };
  328. static cilist io___41 = { 0, 6, 0, fmt_9962, 0 };
  329. static cilist io___42 = { 0, 6, 0, fmt_9974, 0 };
  330. static cilist io___43 = { 0, 6, 0, fmt_9967, 0 };
  331. static cilist io___44 = { 0, 6, 0, fmt_9971, 0 };
  332. static cilist io___45 = { 0, 6, 0, fmt_9970, 0 };
  333. static cilist io___46 = { 0, 6, 0, fmt_9969, 0 };
  334. static cilist io___47 = { 0, 6, 0, fmt_9968, 0 };
  335. static cilist io___48 = { 0, 5, 0, 0, 0 };
  336. static cilist io___51 = { 0, 6, 0, fmt_9992, 0 };
  337. static cilist io___52 = { 0, 6, 0, fmt_9972, 0 };
  338. static cilist io___53 = { 0, 6, 0, fmt_9984, 0 };
  339. static cilist io___54 = { 0, 5, 0, 0, 0 };
  340. static cilist io___56 = { 0, 6, 0, fmt_9989, 0 };
  341. static cilist io___57 = { 0, 6, 0, fmt_9988, 0 };
  342. static cilist io___58 = { 0, 5, 0, 0, 0 };
  343. static cilist io___62 = { 0, 6, 0, fmt_9989, 0 };
  344. static cilist io___63 = { 0, 6, 0, fmt_9988, 0 };
  345. static cilist io___64 = { 0, 6, 0, fmt_9983, 0 };
  346. static cilist io___65 = { 0, 5, 0, 0, 0 };
  347. static cilist io___67 = { 0, 6, 0, fmt_9989, 0 };
  348. static cilist io___68 = { 0, 6, 0, fmt_9988, 0 };
  349. static cilist io___69 = { 0, 6, 0, fmt_9983, 0 };
  350. static cilist io___70 = { 0, 5, 0, 0, 0 };
  351. static cilist io___72 = { 0, 6, 0, fmt_9989, 0 };
  352. static cilist io___73 = { 0, 6, 0, fmt_9988, 0 };
  353. static cilist io___74 = { 0, 6, 0, fmt_9983, 0 };
  354. static cilist io___75 = { 0, 6, 0, fmt_9983, 0 };
  355. static cilist io___76 = { 0, 5, 0, 0, 0 };
  356. static cilist io___78 = { 0, 5, 0, 0, 0 };
  357. static cilist io___80 = { 0, 6, 0, fmt_9989, 0 };
  358. static cilist io___81 = { 0, 6, 0, fmt_9988, 0 };
  359. static cilist io___82 = { 0, 6, 0, fmt_9983, 0 };
  360. static cilist io___83 = { 0, 5, 0, 0, 0 };
  361. static cilist io___89 = { 0, 6, 0, fmt_9989, 0 };
  362. static cilist io___90 = { 0, 6, 0, fmt_9989, 0 };
  363. static cilist io___91 = { 0, 6, 0, fmt_9989, 0 };
  364. static cilist io___92 = { 0, 6, 0, fmt_9989, 0 };
  365. static cilist io___93 = { 0, 6, 0, fmt_9989, 0 };
  366. static cilist io___94 = { 0, 6, 0, fmt_9983, 0 };
  367. static cilist io___95 = { 0, 6, 0, fmt_9983, 0 };
  368. static cilist io___96 = { 0, 6, 0, fmt_9983, 0 };
  369. static cilist io___97 = { 0, 6, 0, fmt_9983, 0 };
  370. static cilist io___98 = { 0, 6, 0, fmt_9983, 0 };
  371. static cilist io___99 = { 0, 5, 0, 0, 0 };
  372. static cilist io___101 = { 0, 6, 0, fmt_9989, 0 };
  373. static cilist io___102 = { 0, 6, 0, fmt_9988, 0 };
  374. static cilist io___103 = { 0, 5, 0, 0, 0 };
  375. static cilist io___104 = { 0, 6, 0, fmt_9989, 0 };
  376. static cilist io___105 = { 0, 6, 0, fmt_9988, 0 };
  377. static cilist io___106 = { 0, 6, 0, fmt_9983, 0 };
  378. static cilist io___107 = { 0, 5, 0, 0, 0 };
  379. static cilist io___108 = { 0, 6, 0, fmt_9989, 0 };
  380. static cilist io___109 = { 0, 6, 0, fmt_9988, 0 };
  381. static cilist io___110 = { 0, 6, 0, fmt_9983, 0 };
  382. static cilist io___111 = { 0, 5, 0, 0, 0 };
  383. static cilist io___112 = { 0, 6, 0, fmt_9989, 0 };
  384. static cilist io___113 = { 0, 6, 0, fmt_9988, 0 };
  385. static cilist io___114 = { 0, 6, 0, fmt_9983, 0 };
  386. static cilist io___115 = { 0, 5, 0, 0, 0 };
  387. static cilist io___116 = { 0, 6, 0, fmt_9989, 0 };
  388. static cilist io___117 = { 0, 6, 0, fmt_9988, 0 };
  389. static cilist io___118 = { 0, 6, 0, fmt_9983, 0 };
  390. static cilist io___119 = { 0, 5, 0, 0, 0 };
  391. static cilist io___120 = { 0, 6, 0, fmt_9989, 0 };
  392. static cilist io___121 = { 0, 6, 0, fmt_9988, 0 };
  393. static cilist io___122 = { 0, 6, 0, fmt_9983, 0 };
  394. static cilist io___123 = { 0, 5, 0, 0, 0 };
  395. static cilist io___125 = { 0, 6, 0, fmt_9989, 0 };
  396. static cilist io___126 = { 0, 6, 0, fmt_9988, 0 };
  397. static cilist io___127 = { 0, 6, 0, fmt_9983, 0 };
  398. static cilist io___128 = { 0, 6, 0, 0, 0 };
  399. static cilist io___130 = { 0, 6, 0, fmt_9981, 0 };
  400. static cilist io___131 = { 0, 6, 0, fmt_9981, 0 };
  401. static cilist io___132 = { 0, 6, 0, fmt_9981, 0 };
  402. static cilist io___133 = { 0, 5, 0, 0, 0 };
  403. static cilist io___134 = { 0, 6, 0, fmt_9982, 0 };
  404. static cilist io___135 = { 0, 5, 0, 0, 0 };
  405. static cilist io___137 = { 0, 5, 0, 0, 0 };
  406. static cilist io___139 = { 0, 5, 0, 0, 0 };
  407. static cilist io___140 = { 0, 5, 0, 0, 0 };
  408. static cilist io___142 = { 0, 5, 0, 0, 0 };
  409. static cilist io___144 = { 0, 6, 0, fmt_9999, 0 };
  410. static cilist io___145 = { 0, 5, 1, "(A80)", 0 };
  411. static cilist io___154 = { 0, 6, 0, fmt_9991, 0 };
  412. static cilist io___155 = { 0, 6, 0, fmt_9990, 0 };
  413. static cilist io___158 = { 0, 6, 0, fmt_9998, 0 };
  414. static cilist io___166 = { 0, 6, 0, fmt_9980, 0 };
  415. static cilist io___167 = { 0, 6, 0, fmt_9997, 0 };
  416. static cilist io___168 = { 0, 6, 0, fmt_9980, 0 };
  417. static cilist io___169 = { 0, 6, 0, fmt_9980, 0 };
  418. static cilist io___170 = { 0, 6, 0, fmt_9997, 0 };
  419. static cilist io___171 = { 0, 6, 0, fmt_9980, 0 };
  420. static cilist io___173 = { 0, 6, 0, fmt_9995, 0 };
  421. static cilist io___174 = { 0, 6, 0, fmt_9980, 0 };
  422. static cilist io___175 = { 0, 6, 0, fmt_9990, 0 };
  423. static cilist io___176 = { 0, 6, 0, fmt_9980, 0 };
  424. static cilist io___177 = { 0, 6, 0, fmt_9973, 0 };
  425. static cilist io___178 = { 0, 6, 0, fmt_9990, 0 };
  426. static cilist io___179 = { 0, 6, 0, fmt_9980, 0 };
  427. static cilist io___180 = { 0, 6, 0, fmt_9973, 0 };
  428. static cilist io___181 = { 0, 6, 0, fmt_9990, 0 };
  429. static cilist io___182 = { 0, 6, 0, fmt_9980, 0 };
  430. static cilist io___183 = { 0, 6, 0, fmt_9973, 0 };
  431. static cilist io___184 = { 0, 6, 0, fmt_9990, 0 };
  432. static cilist io___185 = { 0, 6, 0, fmt_9980, 0 };
  433. static cilist io___186 = { 0, 6, 0, fmt_9973, 0 };
  434. static cilist io___187 = { 0, 6, 0, fmt_9996, 0 };
  435. static cilist io___190 = { 0, 6, 0, fmt_9980, 0 };
  436. static cilist io___191 = { 0, 6, 0, fmt_9980, 0 };
  437. static cilist io___192 = { 0, 6, 0, fmt_9990, 0 };
  438. static cilist io___193 = { 0, 6, 0, fmt_9980, 0 };
  439. static cilist io___194 = { 0, 6, 0, fmt_9973, 0 };
  440. static cilist io___195 = { 0, 6, 0, fmt_9990, 0 };
  441. static cilist io___197 = { 0, 6, 0, fmt_9980, 0 };
  442. static cilist io___198 = { 0, 6, 0, fmt_9973, 0 };
  443. static cilist io___199 = { 0, 6, 0, fmt_9990, 0 };
  444. static cilist io___200 = { 0, 6, 0, fmt_9980, 0 };
  445. static cilist io___201 = { 0, 6, 0, fmt_9973, 0 };
  446. static cilist io___202 = { 0, 6, 0, fmt_9990, 0 };
  447. static cilist io___203 = { 0, 6, 0, fmt_9980, 0 };
  448. static cilist io___204 = { 0, 6, 0, fmt_9973, 0 };
  449. static cilist io___205 = { 0, 6, 0, fmt_9980, 0 };
  450. static cilist io___206 = { 0, 6, 0, fmt_9966, 0 };
  451. static cilist io___207 = { 0, 6, 0, fmt_9980, 0 };
  452. static cilist io___210 = { 0, 6, 0, fmt_9980, 0 };
  453. static cilist io___213 = { 0, 6, 0, fmt_9980, 0 };
  454. static cilist io___214 = { 0, 6, 0, fmt_9980, 0 };
  455. static cilist io___215 = { 0, 6, 0, fmt_9980, 0 };
  456. static cilist io___216 = { 0, 6, 0, 0, 0 };
  457. static cilist io___217 = { 0, 6, 0, 0, 0 };
  458. static cilist io___218 = { 0, 6, 0, fmt_9992, 0 };
  459. static cilist io___219 = { 0, 6, 0, fmt_9994, 0 };
  460. static cilist io___221 = { 0, 6, 0, fmt_9993, 0 };
  461. #define a_ref(a_1,a_2) a[(a_2)*17424 + a_1 - 17425]
  462. #define b_ref(a_1,a_2) b[(a_2)*17424 + a_1 - 17425]
  463. #define c___ref(a_1,a_2) c__[(a_2)*400 + a_1 - 401]
  464. #define d___ref(a_1,a_2) d__[(a_2)*132 + a_1 - 133]
  465. /* -- LAPACK test routine (version 3.0) --
  466. Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,
  467. Courant Institute, Argonne National Lab, and Rice University
  468. June 30, 1999
  469. Purpose
  470. =======
  471. DCHKEE tests the DOUBLE PRECISION LAPACK subroutines for the matrix
  472. eigenvalue problem. The test paths in this version are
  473. NEP (Nonsymmetric Eigenvalue Problem):
  474. Test DGEHRD, DORGHR, DHSEQR, DTREVC, DHSEIN, and DORMHR
  475. SEP (Symmetric Eigenvalue Problem):
  476. Test DSYTRD, DORGTR, DSTEQR, DSTERF, DSTEIN, DSTEDC,
  477. and drivers DSYEV(X), DSBEV(X), DSPEV(X), DSTEV(X),
  478. DSYEVD, DSBEVD, DSPEVD, DSTEVD
  479. SVD (Singular Value Decomposition):
  480. Test DGEBRD, DORGBR, DBDSQR, DBDSDC
  481. and the drivers DGESVD, DGESDD
  482. DEV (Nonsymmetric Eigenvalue/eigenvector Driver):
  483. Test DGEEV
  484. DES (Nonsymmetric Schur form Driver):
  485. Test DGEES
  486. DVX (Nonsymmetric Eigenvalue/eigenvector Expert Driver):
  487. Test DGEEVX
  488. DSX (Nonsymmetric Schur form Expert Driver):
  489. Test DGEESX
  490. DGG (Generalized Nonsymmetric Eigenvalue Problem):
  491. Test DGGHRD, DGGBAL, DGGBAK, DHGEQZ, and DTGEVC
  492. and the driver routines DGEGS and DGEGV
  493. DGS (Generalized Nonsymmetric Schur form Driver):
  494. Test DGGES
  495. DGV (Generalized Nonsymmetric Eigenvalue/eigenvector Driver):
  496. Test DGGEV
  497. DGX (Generalized Nonsymmetric Schur form Expert Driver):
  498. Test DGGESX
  499. DXV (Generalized Nonsymmetric Eigenvalue/eigenvector Expert Driver):
  500. Test DGGEVX
  501. DSG (Symmetric Generalized Eigenvalue Problem):
  502. Test DSYGST, DSYGV, DSYGVD, DSYGVX, DSPGST, DSPGV, DSPGVD,
  503. DSPGVX, DSBGST, DSBGV, DSBGVD, and DSBGVX
  504. DSB (Symmetric Band Eigenvalue Problem):
  505. Test DSBTRD
  506. DBB (Band Singular Value Decomposition):
  507. Test DGBBRD
  508. DEC (Eigencondition estimation):
  509. Test DLALN2, DLASY2, DLAEQU, DLAEXC, DTRSYL, DTREXC, DTRSNA,
  510. DTRSEN, and DLAQTR
  511. DBL (Balancing a general matrix)
  512. Test DGEBAL
  513. DBK (Back transformation on a balanced matrix)
  514. Test DGEBAK
  515. DGL (Balancing a matrix pair)
  516. Test DGGBAL
  517. DGK (Back transformation on a matrix pair)
  518. Test DGGBAK
  519. GLM (Generalized Linear Regression Model):
  520. Tests DGGGLM
  521. GQR (Generalized QR and RQ factorizations):
  522. Tests DGGQRF and DGGRQF
  523. GSV (Generalized Singular Value Decomposition):
  524. Tests DGGSVD, DGGSVP, DTGSJA, DLAGS2, DLAPLL, and DLAPMT
  525. LSE (Constrained Linear Least Squares):
  526. Tests DGGLSE
  527. Each test path has a different set of inputs, but the data sets for
  528. the driver routines xEV, xES, xVX, and xSX can be concatenated in a
  529. single input file. The first line of input should contain one of the
  530. 3-character path names in columns 1-3. The number of remaining lines
  531. depends on what is found on the first line.
  532. The number of matrix types used in testing is often controllable from
  533. the input file. The number of matrix types for each path, and the
  534. test routine that describes them, is as follows:
  535. Path name(s) Types Test routine
  536. DHS or NEP 21 DCHKHS
  537. DST or SEP 21 DCHKST (routines)
  538. 18 DDRVST (drivers)
  539. DBD or SVD 16 DCHKBD (routines)
  540. 5 DDRVBD (drivers)
  541. DEV 21 DDRVEV
  542. DES 21 DDRVES
  543. DVX 21 DDRVVX
  544. DSX 21 DDRVSX
  545. DGG 26 DCHKGG (routines)
  546. 26 DDRVGG (drivers)
  547. DGS 26 DDRGES
  548. DGX 5 DDRGSX
  549. DGV 26 DDRGEV
  550. DXV 2 DDRGVX
  551. DSG 21 DDRVSG
  552. DSB 15 DCHKSB
  553. DBB 15 DCHKBB
  554. DEC - DCHKEC
  555. DBL - DCHKBL
  556. DBK - DCHKBK
  557. DGL - DCHKGL
  558. DGK - DCHKGK
  559. GLM 8 DCKGLM
  560. GQR 8 DCKGQR
  561. GSV 8 DCKGSV
  562. LSE 8 DCKLSE
  563. -----------------------------------------------------------------------
  564. NEP input file:
  565. line 2: NN, INTEGER
  566. Number of values of N.
  567. line 3: NVAL, INTEGER array, dimension (NN)
  568. The values for the matrix dimension N.
  569. line 4: NPARMS, INTEGER
  570. Number of values of the parameters NB, NBMIN, NX, NS, and
  571. MAXB.
  572. line 5: NBVAL, INTEGER array, dimension (NPARMS)
  573. The values for the blocksize NB.
  574. line 6: NBMIN, INTEGER array, dimension (NPARMS)
  575. The values for the minimum blocksize NBMIN.
  576. line 7: NXVAL, INTEGER array, dimension (NPARMS)
  577. The values for the crossover point NX.
  578. line 8: NSVAL, INTEGER array, dimension (NPARMS)
  579. The values for the number of shifts.
  580. line 9: MXBVAL, INTEGER array, dimension (NPARMS)
  581. The values for MAXB, used in determining minimum blocksize.
  582. line 10: THRESH
  583. Threshold value for the test ratios. Information will be
  584. printed about each test for which the test ratio is greater
  585. than or equal to the threshold. To have all of the test
  586. ratios printed, use THRESH = 0.0 .
  587. line 11: NEWSD, INTEGER
  588. A code indicating how to set the random number seed.
  589. = 0: Set the seed to a default value before each run
  590. = 1: Initialize the seed to a default value only before the
  591. first run
  592. = 2: Like 1, but use the seed values on the next line
  593. If line 11 was 2:
  594. line 12: INTEGER array, dimension (4)
  595. Four integer values for the random number seed.
  596. lines 12-EOF: The remaining lines occur in sets of 1 or 2 and allow
  597. the user to specify the matrix types. Each line contains
  598. a 3-character path name in columns 1-3, and the number
  599. of matrix types must be the first nonblank item in columns
  600. 4-80. If the number of matrix types is at least 1 but is
  601. less than the maximum number of possible types, a second
  602. line will be read to get the numbers of the matrix types to
  603. be used. For example,
  604. NEP 21
  605. requests all of the matrix types for the nonsymmetric
  606. eigenvalue problem, while
  607. NEP 4
  608. 9 10 11 12
  609. requests only matrices of type 9, 10, 11, and 12.
  610. The valid 3-character path names are 'NEP' or 'SHS' for the
  611. nonsymmetric eigenvalue routines.
  612. -----------------------------------------------------------------------
  613. SEP or DSG input file:
  614. line 2: NN, INTEGER
  615. Number of values of N.
  616. line 3: NVAL, INTEGER array, dimension (NN)
  617. The values for the matrix dimension N.
  618. line 4: NPARMS, INTEGER
  619. Number of values of the parameters NB, NBMIN, and NX.
  620. line 5: NBVAL, INTEGER array, dimension (NPARMS)
  621. The values for the blocksize NB.
  622. line 6: NBMIN, INTEGER array, dimension (NPARMS)
  623. The values for the minimum blocksize NBMIN.
  624. line 7: NXVAL, INTEGER array, dimension (NPARMS)
  625. The values for the crossover point NX.
  626. line 8: THRESH
  627. Threshold value for the test ratios. Information will be
  628. printed about each test for which the test ratio is greater
  629. than or equal to the threshold.
  630. line 9: TSTCHK, LOGICAL
  631. Flag indicating whether or not to test the LAPACK routines.
  632. line 10: TSTDRV, LOGICAL
  633. Flag indicating whether or not to test the driver routines.
  634. line 11: TSTERR, LOGICAL
  635. Flag indicating whether or not to test the error exits for
  636. the LAPACK routines and driver routines.
  637. line 12: NEWSD, INTEGER
  638. A code indicating how to set the random number seed.
  639. = 0: Set the seed to a default value before each run
  640. = 1: Initialize the seed to a default value only before the
  641. first run
  642. = 2: Like 1, but use the seed values on the next line
  643. If line 12 was 2:
  644. line 13: INTEGER array, dimension (4)
  645. Four integer values for the random number seed.
  646. lines 13-EOF: Lines specifying matrix types, as for NEP.
  647. The 3-character path names are 'SEP' or 'SST' for the
  648. symmetric eigenvalue routines and driver routines, and
  649. 'DSG' for the routines for the symmetric generalized
  650. eigenvalue problem.
  651. -----------------------------------------------------------------------
  652. SVD input file:
  653. line 2: NN, INTEGER
  654. Number of values of M and N.
  655. line 3: MVAL, INTEGER array, dimension (NN)
  656. The values for the matrix row dimension M.
  657. line 4: NVAL, INTEGER array, dimension (NN)
  658. The values for the matrix column dimension N.
  659. line 5: NPARMS, INTEGER
  660. Number of values of the parameter NB, NBMIN, NX, and NRHS.
  661. line 6: NBVAL, INTEGER array, dimension (NPARMS)
  662. The values for the blocksize NB.
  663. line 7: NBMIN, INTEGER array, dimension (NPARMS)
  664. The values for the minimum blocksize NBMIN.
  665. line 8: NXVAL, INTEGER array, dimension (NPARMS)
  666. The values for the crossover point NX.
  667. line 9: NSVAL, INTEGER array, dimension (NPARMS)
  668. The values for the number of right hand sides NRHS.
  669. line 10: THRESH
  670. Threshold value for the test ratios. Information will be
  671. printed about each test for which the test ratio is greater
  672. than or equal to the threshold.
  673. line 11: TSTCHK, LOGICAL
  674. Flag indicating whether or not to test the LAPACK routines.
  675. line 12: TSTDRV, LOGICAL
  676. Flag indicating whether or not to test the driver routines.
  677. line 13: TSTERR, LOGICAL
  678. Flag indicating whether or not to test the error exits for
  679. the LAPACK routines and driver routines.
  680. line 14: NEWSD, INTEGER
  681. A code indicating how to set the random number seed.
  682. = 0: Set the seed to a default value before each run
  683. = 1: Initialize the seed to a default value only before the
  684. first run
  685. = 2: Like 1, but use the seed values on the next line
  686. If line 14 was 2:
  687. line 15: INTEGER array, dimension (4)
  688. Four integer values for the random number seed.
  689. lines 15-EOF: Lines specifying matrix types, as for NEP.
  690. The 3-character path names are 'SVD' or 'SBD' for both the
  691. SVD routines and the SVD driver routines.
  692. -----------------------------------------------------------------------
  693. DEV and DES data files:
  694. line 1: 'DEV' or 'DES' in columns 1 to 3.
  695. line 2: NSIZES, INTEGER
  696. Number of sizes of matrices to use. Should be at least 0
  697. and at most 20. If NSIZES = 0, no testing is done
  698. (although the remaining 3 lines are still read).
  699. line 3: NN, INTEGER array, dimension(NSIZES)
  700. Dimensions of matrices to be tested.
  701. line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  702. These integer parameters determine how blocking is done
  703. (see ILAENV for details)
  704. NB : block size
  705. NBMIN : minimum block size
  706. NX : minimum dimension for blocking
  707. NS : number of shifts in xHSEQR
  708. NBCOL : minimum column dimension for blocking
  709. line 5: THRESH, REAL
  710. The test threshold against which computed residuals are
  711. compared. Should generally be in the range from 10. to 20.
  712. If it is 0., all test case data will be printed.
  713. line 6: TSTERR, LOGICAL
  714. Flag indicating whether or not to test the error exits.
  715. line 7: NEWSD, INTEGER
  716. A code indicating how to set the random number seed.
  717. = 0: Set the seed to a default value before each run
  718. = 1: Initialize the seed to a default value only before the
  719. first run
  720. = 2: Like 1, but use the seed values on the next line
  721. If line 7 was 2:
  722. line 8: INTEGER array, dimension (4)
  723. Four integer values for the random number seed.
  724. lines 9 and following: Lines specifying matrix types, as for NEP.
  725. The 3-character path name is 'DEV' to test SGEEV, or
  726. 'DES' to test SGEES.
  727. -----------------------------------------------------------------------
  728. The DVX data has two parts. The first part is identical to DEV,
  729. and the second part consists of test matrices with precomputed
  730. solutions.
  731. line 1: 'DVX' in columns 1-3.
  732. line 2: NSIZES, INTEGER
  733. If NSIZES = 0, no testing of randomly generated examples
  734. is done, but any precomputed examples are tested.
  735. line 3: NN, INTEGER array, dimension(NSIZES)
  736. line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  737. line 5: THRESH, REAL
  738. line 6: TSTERR, LOGICAL
  739. line 7: NEWSD, INTEGER
  740. If line 7 was 2:
  741. line 8: INTEGER array, dimension (4)
  742. lines 9 and following: The first line contains 'DVX' in columns 1-3
  743. followed by the number of matrix types, possibly with
  744. a second line to specify certain matrix types.
  745. If the number of matrix types = 0, no testing of randomly
  746. generated examples is done, but any precomputed examples
  747. are tested.
  748. remaining lines : Each matrix is stored on 1+2*N lines, where N is
  749. its dimension. The first line contains the dimension (a
  750. single integer). The next N lines contain the matrix, one
  751. row per line. The last N lines correspond to each
  752. eigenvalue. Each of these last N lines contains 4 real
  753. values: the real part of the eigenvalue, the imaginary
  754. part of the eigenvalue, the reciprocal condition number of
  755. the eigenvalues, and the reciprocal condition number of the
  756. eigenvector. The end of data is indicated by dimension N=0.
  757. Even if no data is to be tested, there must be at least one
  758. line containing N=0.
  759. -----------------------------------------------------------------------
  760. The DSX data is like DVX. The first part is identical to DEV, and the
  761. second part consists of test matrices with precomputed solutions.
  762. line 1: 'DSX' in columns 1-3.
  763. line 2: NSIZES, INTEGER
  764. If NSIZES = 0, no testing of randomly generated examples
  765. is done, but any precomputed examples are tested.
  766. line 3: NN, INTEGER array, dimension(NSIZES)
  767. line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  768. line 5: THRESH, REAL
  769. line 6: TSTERR, LOGICAL
  770. line 7: NEWSD, INTEGER
  771. If line 7 was 2:
  772. line 8: INTEGER array, dimension (4)
  773. lines 9 and following: The first line contains 'DSX' in columns 1-3
  774. followed by the number of matrix types, possibly with
  775. a second line to specify certain matrix types.
  776. If the number of matrix types = 0, no testing of randomly
  777. generated examples is done, but any precomputed examples
  778. are tested.
  779. remaining lines : Each matrix is stored on 3+N lines, where N is its
  780. dimension. The first line contains the dimension N and the
  781. dimension M of an invariant subspace. The second line
  782. contains M integers, identifying the eigenvalues in the
  783. invariant subspace (by their position in a list of
  784. eigenvalues ordered by increasing real part). The next N
  785. lines contain the matrix. The last line contains the
  786. reciprocal condition number for the average of the selected
  787. eigenvalues, and the reciprocal condition number for the
  788. corresponding right invariant subspace. The end of data is
  789. indicated by a line containing N=0 and M=0. Even if no data
  790. is to be tested, there must be at least one line containing
  791. N=0 and M=0.
  792. -----------------------------------------------------------------------
  793. DGG input file:
  794. line 2: NN, INTEGER
  795. Number of values of N.
  796. line 3: NVAL, INTEGER array, dimension (NN)
  797. The values for the matrix dimension N.
  798. line 4: NPARMS, INTEGER
  799. Number of values of the parameters NB, NBMIN, NS, MAXB, and
  800. NBCOL.
  801. line 5: NBVAL, INTEGER array, dimension (NPARMS)
  802. The values for the blocksize NB.
  803. line 6: NBMIN, INTEGER array, dimension (NPARMS)
  804. The values for NBMIN, the minimum row dimension for blocks.
  805. line 7: NSVAL, INTEGER array, dimension (NPARMS)
  806. The values for the number of shifts.
  807. line 8: MXBVAL, INTEGER array, dimension (NPARMS)
  808. The values for MAXB, used in determining minimum blocksize.
  809. line 9: NBCOL, INTEGER array, dimension (NPARMS)
  810. The values for NBCOL, the minimum column dimension for
  811. blocks.
  812. line 10: THRESH
  813. Threshold value for the test ratios. Information will be
  814. printed about each test for which the test ratio is greater
  815. than or equal to the threshold.
  816. line 11: TSTCHK, LOGICAL
  817. Flag indicating whether or not to test the LAPACK routines.
  818. line 12: TSTDRV, LOGICAL
  819. Flag indicating whether or not to test the driver routines.
  820. line 13: TSTERR, LOGICAL
  821. Flag indicating whether or not to test the error exits for
  822. the LAPACK routines and driver routines.
  823. line 14: NEWSD, INTEGER
  824. A code indicating how to set the random number seed.
  825. = 0: Set the seed to a default value before each run
  826. = 1: Initialize the seed to a default value only before the
  827. first run
  828. = 2: Like 1, but use the seed values on the next line
  829. If line 14 was 2:
  830. line 15: INTEGER array, dimension (4)
  831. Four integer values for the random number seed.
  832. lines 15-EOF: Lines specifying matrix types, as for NEP.
  833. The 3-character path name is 'DGG' for the generalized
  834. eigenvalue problem routines and driver routines.
  835. -----------------------------------------------------------------------
  836. DGS and DGV input files:
  837. line 1: 'DGS' or 'DGV' in columns 1 to 3.
  838. line 2: NN, INTEGER
  839. Number of values of N.
  840. line 3: NVAL, INTEGER array, dimension(NN)
  841. Dimensions of matrices to be tested.
  842. line 4: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  843. These integer parameters determine how blocking is done
  844. (see ILAENV for details)
  845. NB : block size
  846. NBMIN : minimum block size
  847. NX : minimum dimension for blocking
  848. NS : number of shifts in xHGEQR
  849. NBCOL : minimum column dimension for blocking
  850. line 5: THRESH, REAL
  851. The test threshold against which computed residuals are
  852. compared. Should generally be in the range from 10. to 20.
  853. If it is 0., all test case data will be printed.
  854. line 6: TSTERR, LOGICAL
  855. Flag indicating whether or not to test the error exits.
  856. line 7: NEWSD, INTEGER
  857. A code indicating how to set the random number seed.
  858. = 0: Set the seed to a default value before each run
  859. = 1: Initialize the seed to a default value only before the
  860. first run
  861. = 2: Like 1, but use the seed values on the next line
  862. If line 17 was 2:
  863. line 7: INTEGER array, dimension (4)
  864. Four integer values for the random number seed.
  865. lines 7-EOF: Lines specifying matrix types, as for NEP.
  866. The 3-character path name is 'DGS' for the generalized
  867. eigenvalue problem routines and driver routines.
  868. -----------------------------------------------------------------------
  869. DXV input files:
  870. line 1: 'DXV' in columns 1 to 3.
  871. line 2: N, INTEGER
  872. Value of N.
  873. line 3: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  874. These integer parameters determine how blocking is done
  875. (see ILAENV for details)
  876. NB : block size
  877. NBMIN : minimum block size
  878. NX : minimum dimension for blocking
  879. NS : number of shifts in xHGEQR
  880. NBCOL : minimum column dimension for blocking
  881. line 4: THRESH, REAL
  882. The test threshold against which computed residuals are
  883. compared. Should generally be in the range from 10. to 20.
  884. Information will be printed about each test for which the
  885. test ratio is greater than or equal to the threshold.
  886. line 5: TSTERR, LOGICAL
  887. Flag indicating whether or not to test the error exits for
  888. the LAPACK routines and driver routines.
  889. line 6: NEWSD, INTEGER
  890. A code indicating how to set the random number seed.
  891. = 0: Set the seed to a default value before each run
  892. = 1: Initialize the seed to a default value only before the
  893. first run
  894. = 2: Like 1, but use the seed values on the next line
  895. If line 6 was 2:
  896. line 7: INTEGER array, dimension (4)
  897. Four integer values for the random number seed.
  898. If line 2 was 0:
  899. line 7-EOF: Precomputed examples are tested.
  900. remaining lines : Each example is stored on 3+2*N lines, where N is
  901. its dimension. The first line contains the dimension (a
  902. single integer). The next N lines contain the matrix A, one
  903. row per line. The next N lines contain the matrix B. The
  904. next line contains the reciprocals of the eigenvalue
  905. condition numbers. The last line contains the reciprocals of
  906. the eigenvector condition numbers. The end of data is
  907. indicated by dimension N=0. Even if no data is to be tested,
  908. there must be at least one line containing N=0.
  909. -----------------------------------------------------------------------
  910. DGX input files:
  911. line 1: 'DGX' in columns 1 to 3.
  912. line 2: N, INTEGER
  913. Value of N.
  914. line 3: NB, NBMIN, NX, NS, NBCOL, INTEGERs
  915. These integer parameters determine how blocking is done
  916. (see ILAENV for details)
  917. NB : block size
  918. NBMIN : minimum block size
  919. NX : minimum dimension for blocking
  920. NS : number of shifts in xHGEQR
  921. NBCOL : minimum column dimension for blocking
  922. line 4: THRESH, REAL
  923. The test threshold against which computed residuals are
  924. compared. Should generally be in the range from 10. to 20.
  925. Information will be printed about each test for which the
  926. test ratio is greater than or equal to the threshold.
  927. line 5: TSTERR, LOGICAL
  928. Flag indicating whether or not to test the error exits for
  929. the LAPACK routines and driver routines.
  930. line 6: NEWSD, INTEGER
  931. A code indicating how to set the random number seed.
  932. = 0: Set the seed to a default value before each run
  933. = 1: Initialize the seed to a default value only before the
  934. first run
  935. = 2: Like 1, but use the seed values on the ne…

Large files files are truncated, but you can click here to view the full file