PageRenderTime 46ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/clapack-3.2.1-CMAKE/TESTING/EIG/dchkee.c

http://github.com/openmeeg/openmeeg
C | 1560 lines | 522 code | 301 blank | 737 comment | 10 complexity | a84eb8bdc9d3367b0e007ad98cd92073 MD5 | raw file
Possible License(s): BSD-3-Clause

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

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

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