You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

dlahd2.f 21 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545
  1. *> \brief \b DLAHD2
  2. *
  3. * =========== DOCUMENTATION ===========
  4. *
  5. * Online html documentation available at
  6. * http://www.netlib.org/lapack/explore-html/
  7. *
  8. * Definition:
  9. * ===========
  10. *
  11. * SUBROUTINE DLAHD2( IOUNIT, PATH )
  12. *
  13. * .. Scalar Arguments ..
  14. * CHARACTER*3 PATH
  15. * INTEGER IOUNIT
  16. * ..
  17. *
  18. *
  19. *> \par Purpose:
  20. * =============
  21. *>
  22. *> \verbatim
  23. *>
  24. *> DLAHD2 prints header information for the different test paths.
  25. *> \endverbatim
  26. *
  27. * Arguments:
  28. * ==========
  29. *
  30. *> \param[in] IOUNIT
  31. *> \verbatim
  32. *> IOUNIT is INTEGER.
  33. *> On entry, IOUNIT specifies the unit number to which the
  34. *> header information should be printed.
  35. *> \endverbatim
  36. *>
  37. *> \param[in] PATH
  38. *> \verbatim
  39. *> PATH is CHARACTER*3.
  40. *> On entry, PATH contains the name of the path for which the
  41. *> header information is to be printed. Current paths are
  42. *>
  43. *> DHS, ZHS: Non-symmetric eigenproblem.
  44. *> DST, ZST: Symmetric eigenproblem.
  45. *> DSG, ZSG: Symmetric Generalized eigenproblem.
  46. *> DBD, ZBD: Singular Value Decomposition (SVD)
  47. *> DBB, ZBB: General Banded reduction to bidiagonal form
  48. *>
  49. *> These paths also are supplied in double precision (replace
  50. *> leading S by D and leading C by Z in path names).
  51. *> \endverbatim
  52. *
  53. * Authors:
  54. * ========
  55. *
  56. *> \author Univ. of Tennessee
  57. *> \author Univ. of California Berkeley
  58. *> \author Univ. of Colorado Denver
  59. *> \author NAG Ltd.
  60. *
  61. *> \date December 2016
  62. *
  63. *> \ingroup double_eig
  64. *
  65. * =====================================================================
  66. SUBROUTINE DLAHD2( IOUNIT, PATH )
  67. *
  68. * -- LAPACK test routine (version 3.7.0) --
  69. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  70. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  71. * December 2016
  72. *
  73. * .. Scalar Arguments ..
  74. CHARACTER*3 PATH
  75. INTEGER IOUNIT
  76. * ..
  77. *
  78. * =====================================================================
  79. *
  80. * .. Local Scalars ..
  81. LOGICAL CORZ, SORD
  82. CHARACTER*2 C2
  83. INTEGER J
  84. * ..
  85. * .. External Functions ..
  86. LOGICAL LSAME, LSAMEN
  87. EXTERNAL LSAME, LSAMEN
  88. * ..
  89. * .. Executable Statements ..
  90. *
  91. IF( IOUNIT.LE.0 )
  92. $ RETURN
  93. SORD = LSAME( PATH, 'S' ) .OR. LSAME( PATH, 'D' )
  94. CORZ = LSAME( PATH, 'C' ) .OR. LSAME( PATH, 'Z' )
  95. IF( .NOT.SORD .AND. .NOT.CORZ ) THEN
  96. WRITE( IOUNIT, FMT = 9999 )PATH
  97. END IF
  98. C2 = PATH( 2: 3 )
  99. *
  100. IF( LSAMEN( 2, C2, 'HS' ) ) THEN
  101. IF( SORD ) THEN
  102. *
  103. * Real Non-symmetric Eigenvalue Problem:
  104. *
  105. WRITE( IOUNIT, FMT = 9998 )PATH
  106. *
  107. * Matrix types
  108. *
  109. WRITE( IOUNIT, FMT = 9988 )
  110. WRITE( IOUNIT, FMT = 9987 )
  111. WRITE( IOUNIT, FMT = 9986 )'pairs ', 'pairs ', 'prs.',
  112. $ 'prs.'
  113. WRITE( IOUNIT, FMT = 9985 )
  114. *
  115. * Tests performed
  116. *
  117. WRITE( IOUNIT, FMT = 9984 )'orthogonal', '''=transpose',
  118. $ ( '''', J = 1, 6 )
  119. *
  120. ELSE
  121. *
  122. * Complex Non-symmetric Eigenvalue Problem:
  123. *
  124. WRITE( IOUNIT, FMT = 9997 )PATH
  125. *
  126. * Matrix types
  127. *
  128. WRITE( IOUNIT, FMT = 9988 )
  129. WRITE( IOUNIT, FMT = 9987 )
  130. WRITE( IOUNIT, FMT = 9986 )'e.vals', 'e.vals', 'e.vs',
  131. $ 'e.vs'
  132. WRITE( IOUNIT, FMT = 9985 )
  133. *
  134. * Tests performed
  135. *
  136. WRITE( IOUNIT, FMT = 9984 )'unitary', '*=conj.transp.',
  137. $ ( '*', J = 1, 6 )
  138. END IF
  139. *
  140. ELSE IF( LSAMEN( 2, C2, 'ST' ) ) THEN
  141. *
  142. IF( SORD ) THEN
  143. *
  144. * Real Symmetric Eigenvalue Problem:
  145. *
  146. WRITE( IOUNIT, FMT = 9996 )PATH
  147. *
  148. * Matrix types
  149. *
  150. WRITE( IOUNIT, FMT = 9983 )
  151. WRITE( IOUNIT, FMT = 9982 )
  152. WRITE( IOUNIT, FMT = 9981 )'Symmetric'
  153. *
  154. * Tests performed
  155. *
  156. WRITE( IOUNIT, FMT = 9968 )
  157. *
  158. ELSE
  159. *
  160. * Complex Hermitian Eigenvalue Problem:
  161. *
  162. WRITE( IOUNIT, FMT = 9995 )PATH
  163. *
  164. * Matrix types
  165. *
  166. WRITE( IOUNIT, FMT = 9983 )
  167. WRITE( IOUNIT, FMT = 9982 )
  168. WRITE( IOUNIT, FMT = 9981 )'Hermitian'
  169. *
  170. * Tests performed
  171. *
  172. WRITE( IOUNIT, FMT = 9967 )
  173. END IF
  174. *
  175. ELSE IF( LSAMEN( 2, C2, 'SG' ) ) THEN
  176. *
  177. IF( SORD ) THEN
  178. *
  179. * Real Symmetric Generalized Eigenvalue Problem:
  180. *
  181. WRITE( IOUNIT, FMT = 9992 )PATH
  182. *
  183. * Matrix types
  184. *
  185. WRITE( IOUNIT, FMT = 9980 )
  186. WRITE( IOUNIT, FMT = 9979 )
  187. WRITE( IOUNIT, FMT = 9978 )'Symmetric'
  188. *
  189. * Tests performed
  190. *
  191. WRITE( IOUNIT, FMT = 9977 )
  192. WRITE( IOUNIT, FMT = 9976 )
  193. *
  194. ELSE
  195. *
  196. * Complex Hermitian Generalized Eigenvalue Problem:
  197. *
  198. WRITE( IOUNIT, FMT = 9991 )PATH
  199. *
  200. * Matrix types
  201. *
  202. WRITE( IOUNIT, FMT = 9980 )
  203. WRITE( IOUNIT, FMT = 9979 )
  204. WRITE( IOUNIT, FMT = 9978 )'Hermitian'
  205. *
  206. * Tests performed
  207. *
  208. WRITE( IOUNIT, FMT = 9975 )
  209. WRITE( IOUNIT, FMT = 9974 )
  210. *
  211. END IF
  212. *
  213. ELSE IF( LSAMEN( 2, C2, 'BD' ) ) THEN
  214. *
  215. IF( SORD ) THEN
  216. *
  217. * Real Singular Value Decomposition:
  218. *
  219. WRITE( IOUNIT, FMT = 9994 )PATH
  220. *
  221. * Matrix types
  222. *
  223. WRITE( IOUNIT, FMT = 9973 )
  224. *
  225. * Tests performed
  226. *
  227. WRITE( IOUNIT, FMT = 9972 )'orthogonal'
  228. WRITE( IOUNIT, FMT = 9971 )
  229. ELSE
  230. *
  231. * Complex Singular Value Decomposition:
  232. *
  233. WRITE( IOUNIT, FMT = 9993 )PATH
  234. *
  235. * Matrix types
  236. *
  237. WRITE( IOUNIT, FMT = 9973 )
  238. *
  239. * Tests performed
  240. *
  241. WRITE( IOUNIT, FMT = 9972 )'unitary '
  242. WRITE( IOUNIT, FMT = 9971 )
  243. END IF
  244. *
  245. ELSE IF( LSAMEN( 2, C2, 'BB' ) ) THEN
  246. *
  247. IF( SORD ) THEN
  248. *
  249. * Real General Band reduction to bidiagonal form:
  250. *
  251. WRITE( IOUNIT, FMT = 9990 )PATH
  252. *
  253. * Matrix types
  254. *
  255. WRITE( IOUNIT, FMT = 9970 )
  256. *
  257. * Tests performed
  258. *
  259. WRITE( IOUNIT, FMT = 9969 )'orthogonal'
  260. ELSE
  261. *
  262. * Complex Band reduction to bidiagonal form:
  263. *
  264. WRITE( IOUNIT, FMT = 9989 )PATH
  265. *
  266. * Matrix types
  267. *
  268. WRITE( IOUNIT, FMT = 9970 )
  269. *
  270. * Tests performed
  271. *
  272. WRITE( IOUNIT, FMT = 9969 )'unitary '
  273. END IF
  274. *
  275. ELSE
  276. *
  277. WRITE( IOUNIT, FMT = 9999 )PATH
  278. RETURN
  279. END IF
  280. *
  281. RETURN
  282. *
  283. 9999 FORMAT( 1X, A3, ': no header available' )
  284. 9998 FORMAT( / 1X, A3, ' -- Real Non-symmetric eigenvalue problem' )
  285. 9997 FORMAT( / 1X, A3, ' -- Complex Non-symmetric eigenvalue problem' )
  286. 9996 FORMAT( / 1X, A3, ' -- Real Symmetric eigenvalue problem' )
  287. 9995 FORMAT( / 1X, A3, ' -- Complex Hermitian eigenvalue problem' )
  288. 9994 FORMAT( / 1X, A3, ' -- Real Singular Value Decomposition' )
  289. 9993 FORMAT( / 1X, A3, ' -- Complex Singular Value Decomposition' )
  290. 9992 FORMAT( / 1X, A3, ' -- Real Symmetric Generalized eigenvalue ',
  291. $ 'problem' )
  292. 9991 FORMAT( / 1X, A3, ' -- Complex Hermitian Generalized eigenvalue ',
  293. $ 'problem' )
  294. 9990 FORMAT( / 1X, A3, ' -- Real Band reduc. to bidiagonal form' )
  295. 9989 FORMAT( / 1X, A3, ' -- Complex Band reduc. to bidiagonal form' )
  296. *
  297. 9988 FORMAT( ' Matrix types (see xCHKHS for details): ' )
  298. *
  299. 9987 FORMAT( / ' Special Matrices:', / ' 1=Zero matrix. ',
  300. $ ' ', ' 5=Diagonal: geometr. spaced entries.',
  301. $ / ' 2=Identity matrix. ', ' 6=Diagona',
  302. $ 'l: clustered entries.', / ' 3=Transposed Jordan block. ',
  303. $ ' ', ' 7=Diagonal: large, evenly spaced.', / ' ',
  304. $ '4=Diagonal: evenly spaced entries. ', ' 8=Diagonal: s',
  305. $ 'mall, evenly spaced.' )
  306. 9986 FORMAT( ' Dense, Non-Symmetric Matrices:', / ' 9=Well-cond., ev',
  307. $ 'enly spaced eigenvals.', ' 14=Ill-cond., geomet. spaced e',
  308. $ 'igenals.', / ' 10=Well-cond., geom. spaced eigenvals. ',
  309. $ ' 15=Ill-conditioned, clustered e.vals.', / ' 11=Well-cond',
  310. $ 'itioned, clustered e.vals. ', ' 16=Ill-cond., random comp',
  311. $ 'lex ', A6, / ' 12=Well-cond., random complex ', A6, ' ',
  312. $ ' 17=Ill-cond., large rand. complx ', A4, / ' 13=Ill-condi',
  313. $ 'tioned, evenly spaced. ', ' 18=Ill-cond., small rand.',
  314. $ ' complx ', A4 )
  315. 9985 FORMAT( ' 19=Matrix with random O(1) entries. ', ' 21=Matrix ',
  316. $ 'with small random entries.', / ' 20=Matrix with large ran',
  317. $ 'dom entries. ' )
  318. 9984 FORMAT( / ' Tests performed: ', '(H is Hessenberg, T is Schur,',
  319. $ ' U and Z are ', A, ',', / 20X, A, ', W is a diagonal matr',
  320. $ 'ix of eigenvalues,', / 20X, 'L and R are the left and rig',
  321. $ 'ht eigenvector matrices)', / ' 1 = | A - U H U', A1, ' |',
  322. $ ' / ( |A| n ulp ) ', ' 2 = | I - U U', A1, ' | / ',
  323. $ '( n ulp )', / ' 3 = | H - Z T Z', A1, ' | / ( |H| n ulp ',
  324. $ ') ', ' 4 = | I - Z Z', A1, ' | / ( n ulp )',
  325. $ / ' 5 = | A - UZ T (UZ)', A1, ' | / ( |A| n ulp ) ',
  326. $ ' 6 = | I - UZ (UZ)', A1, ' | / ( n ulp )', / ' 7 = | T(',
  327. $ 'e.vects.) - T(no e.vects.) | / ( |T| ulp )', / ' 8 = | W',
  328. $ '(e.vects.) - W(no e.vects.) | / ( |W| ulp )', / ' 9 = | ',
  329. $ 'TR - RW | / ( |T| |R| ulp ) ', ' 10 = | LT - WL | / (',
  330. $ ' |T| |L| ulp )', / ' 11= |HX - XW| / (|H| |X| ulp) (inv.',
  331. $ 'it)', ' 12= |YH - WY| / (|H| |Y| ulp) (inv.it)' )
  332. *
  333. * Symmetric/Hermitian eigenproblem
  334. *
  335. 9983 FORMAT( ' Matrix types (see xDRVST for details): ' )
  336. *
  337. 9982 FORMAT( / ' Special Matrices:', / ' 1=Zero matrix. ',
  338. $ ' ', ' 5=Diagonal: clustered entries.', / ' 2=',
  339. $ 'Identity matrix. ', ' 6=Diagonal: lar',
  340. $ 'ge, evenly spaced.', / ' 3=Diagonal: evenly spaced entri',
  341. $ 'es. ', ' 7=Diagonal: small, evenly spaced.', / ' 4=D',
  342. $ 'iagonal: geometr. spaced entries.' )
  343. 9981 FORMAT( ' Dense ', A, ' Matrices:', / ' 8=Evenly spaced eigen',
  344. $ 'vals. ', ' 12=Small, evenly spaced eigenvals.',
  345. $ / ' 9=Geometrically spaced eigenvals. ', ' 13=Matrix ',
  346. $ 'with random O(1) entries.', / ' 10=Clustered eigenvalues.',
  347. $ ' ', ' 14=Matrix with large random entries.',
  348. $ / ' 11=Large, evenly spaced eigenvals. ', ' 15=Matrix ',
  349. $ 'with small random entries.' )
  350. *
  351. * Symmetric/Hermitian Generalized eigenproblem
  352. *
  353. 9980 FORMAT( ' Matrix types (see xDRVSG for details): ' )
  354. *
  355. 9979 FORMAT( / ' Special Matrices:', / ' 1=Zero matrix. ',
  356. $ ' ', ' 5=Diagonal: clustered entries.', / ' 2=',
  357. $ 'Identity matrix. ', ' 6=Diagonal: lar',
  358. $ 'ge, evenly spaced.', / ' 3=Diagonal: evenly spaced entri',
  359. $ 'es. ', ' 7=Diagonal: small, evenly spaced.', / ' 4=D',
  360. $ 'iagonal: geometr. spaced entries.' )
  361. 9978 FORMAT( ' Dense or Banded ', A, ' Matrices: ',
  362. $ / ' 8=Evenly spaced eigenvals. ',
  363. $ ' 15=Matrix with small random entries.',
  364. $ / ' 9=Geometrically spaced eigenvals. ',
  365. $ ' 16=Evenly spaced eigenvals, KA=1, KB=1.',
  366. $ / ' 10=Clustered eigenvalues. ',
  367. $ ' 17=Evenly spaced eigenvals, KA=2, KB=1.',
  368. $ / ' 11=Large, evenly spaced eigenvals. ',
  369. $ ' 18=Evenly spaced eigenvals, KA=2, KB=2.',
  370. $ / ' 12=Small, evenly spaced eigenvals. ',
  371. $ ' 19=Evenly spaced eigenvals, KA=3, KB=1.',
  372. $ / ' 13=Matrix with random O(1) entries. ',
  373. $ ' 20=Evenly spaced eigenvals, KA=3, KB=2.',
  374. $ / ' 14=Matrix with large random entries.',
  375. $ ' 21=Evenly spaced eigenvals, KA=3, KB=3.' )
  376. 9977 FORMAT( / ' Tests performed: ',
  377. $ / '( For each pair (A,B), where A is of the given type ',
  378. $ / ' and B is a random well-conditioned matrix. D is ',
  379. $ / ' diagonal, and Z is orthogonal. )',
  380. $ / ' 1 = DSYGV, with ITYPE=1 and UPLO=''U'':',
  381. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  382. $ / ' 2 = DSPGV, with ITYPE=1 and UPLO=''U'':',
  383. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  384. $ / ' 3 = DSBGV, with ITYPE=1 and UPLO=''U'':',
  385. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  386. $ / ' 4 = DSYGV, with ITYPE=1 and UPLO=''L'':',
  387. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  388. $ / ' 5 = DSPGV, with ITYPE=1 and UPLO=''L'':',
  389. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  390. $ / ' 6 = DSBGV, with ITYPE=1 and UPLO=''L'':',
  391. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ' )
  392. 9976 FORMAT( ' 7 = DSYGV, with ITYPE=2 and UPLO=''U'':',
  393. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  394. $ / ' 8 = DSPGV, with ITYPE=2 and UPLO=''U'':',
  395. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  396. $ / ' 9 = DSPGV, with ITYPE=2 and UPLO=''L'':',
  397. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  398. $ / '10 = DSPGV, with ITYPE=2 and UPLO=''L'':',
  399. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  400. $ / '11 = DSYGV, with ITYPE=3 and UPLO=''U'':',
  401. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  402. $ / '12 = DSPGV, with ITYPE=3 and UPLO=''U'':',
  403. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  404. $ / '13 = DSYGV, with ITYPE=3 and UPLO=''L'':',
  405. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  406. $ / '14 = DSPGV, with ITYPE=3 and UPLO=''L'':',
  407. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ' )
  408. 9975 FORMAT( / ' Tests performed: ',
  409. $ / '( For each pair (A,B), where A is of the given type ',
  410. $ / ' and B is a random well-conditioned matrix. D is ',
  411. $ / ' diagonal, and Z is unitary. )',
  412. $ / ' 1 = ZHEGV, with ITYPE=1 and UPLO=''U'':',
  413. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  414. $ / ' 2 = ZHPGV, with ITYPE=1 and UPLO=''U'':',
  415. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  416. $ / ' 3 = ZHBGV, with ITYPE=1 and UPLO=''U'':',
  417. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  418. $ / ' 4 = ZHEGV, with ITYPE=1 and UPLO=''L'':',
  419. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  420. $ / ' 5 = ZHPGV, with ITYPE=1 and UPLO=''L'':',
  421. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  422. $ / ' 6 = ZHBGV, with ITYPE=1 and UPLO=''L'':',
  423. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ' )
  424. 9974 FORMAT( ' 7 = ZHEGV, with ITYPE=2 and UPLO=''U'':',
  425. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  426. $ / ' 8 = ZHPGV, with ITYPE=2 and UPLO=''U'':',
  427. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  428. $ / ' 9 = ZHPGV, with ITYPE=2 and UPLO=''L'':',
  429. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  430. $ / '10 = ZHPGV, with ITYPE=2 and UPLO=''L'':',
  431. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  432. $ / '11 = ZHEGV, with ITYPE=3 and UPLO=''U'':',
  433. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  434. $ / '12 = ZHPGV, with ITYPE=3 and UPLO=''U'':',
  435. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  436. $ / '13 = ZHEGV, with ITYPE=3 and UPLO=''L'':',
  437. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  438. $ / '14 = ZHPGV, with ITYPE=3 and UPLO=''L'':',
  439. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ' )
  440. *
  441. * Singular Value Decomposition
  442. *
  443. 9973 FORMAT( ' Matrix types (see xCHKBD for details):',
  444. $ / ' Diagonal matrices:', / ' 1: Zero', 28X,
  445. $ ' 5: Clustered entries', / ' 2: Identity', 24X,
  446. $ ' 6: Large, evenly spaced entries',
  447. $ / ' 3: Evenly spaced entries', 11X,
  448. $ ' 7: Small, evenly spaced entries',
  449. $ / ' 4: Geometrically spaced entries',
  450. $ / ' General matrices:', / ' 8: Evenly spaced sing. vals.',
  451. $ 7X, '12: Small, evenly spaced sing vals',
  452. $ / ' 9: Geometrically spaced sing vals ',
  453. $ '13: Random, O(1) entries', / ' 10: Clustered sing. vals.',
  454. $ 11X, '14: Random, scaled near overflow',
  455. $ / ' 11: Large, evenly spaced sing vals ',
  456. $ '15: Random, scaled near underflow' )
  457. *
  458. 9972 FORMAT( / ' Test ratios: ',
  459. $ '(B: bidiagonal, S: diagonal, Q, P, U, and V: ', A10, / 16X,
  460. $ 'X: m x nrhs, Y = Q'' X, and Z = U'' Y)' )
  461. 9971 FORMAT( ' 1: norm( A - Q B P'' ) / ( norm(A) max(m,n) ulp )',
  462. $ / ' 2: norm( I - Q'' Q ) / ( m ulp )',
  463. $ / ' 3: norm( I - P'' P ) / ( n ulp )',
  464. $ / ' 4: norm( B - U S V'' ) / ( norm(B) min(m,n) ulp )',
  465. $ / ' 5: norm( Y - U Z ) / ',
  466. $ '( norm(Z) max(min(m,n),k) ulp )',
  467. $ / ' 6: norm( I - U'' U ) / ( min(m,n) ulp )',
  468. $ / ' 7: norm( I - V'' V ) / ( min(m,n) ulp )',
  469. $ / ' 8: Test ordering of S (0 if nondecreasing, 1/ulp ',
  470. $ ' otherwise)',
  471. $ / ' 9: norm( S - S1 ) / ( norm(S) ulp ),',
  472. $ ' where S1 is computed', / 43X,
  473. $ ' without computing U and V''',
  474. $ / ' 10: Sturm sequence test ',
  475. $ '(0 if sing. vals of B within THRESH of S)',
  476. $ / ' 11: norm( A - (QU) S (V'' P'') ) / ',
  477. $ '( norm(A) max(m,n) ulp )',
  478. $ / ' 12: norm( X - (QU) Z ) / ( |X| max(M,k) ulp )',
  479. $ / ' 13: norm( I - (QU)''(QU) ) / ( M ulp )',
  480. $ / ' 14: norm( I - (V'' P'') (P V) ) / ( N ulp )',
  481. $ / ' 15: norm( B - U S V'' ) / ( norm(B) min(m,n) ulp )',
  482. $ / ' 16: norm( I - U'' U ) / ( min(m,n) ulp )',
  483. $ / ' 17: norm( I - V'' V ) / ( min(m,n) ulp )',
  484. $ / ' 18: Test ordering of S (0 if nondecreasing, 1/ulp ',
  485. $ ' otherwise)',
  486. $ / ' 19: norm( S - S1 ) / ( norm(S) ulp ),',
  487. $ ' where S1 is computed', / 43X,
  488. $ ' without computing U and V''',
  489. $ / ' 20: norm( B - U S V'' ) / ( norm(B) min(m,n) ulp )',
  490. $ ' DBDSVX(V,A)',
  491. $ / ' 21: norm( I - U'' U ) / ( min(m,n) ulp )',
  492. $ / ' 22: norm( I - V'' V ) / ( min(m,n) ulp )',
  493. $ / ' 23: Test ordering of S (0 if nondecreasing, 1/ulp ',
  494. $ ' otherwise)',
  495. $ / ' 24: norm( S - S1 ) / ( norm(S) ulp ),',
  496. $ ' where S1 is computed', / 44X,
  497. $ ' without computing U and V''',
  498. $ / ' 25: norm( S - U'' B V ) / ( norm(B) n ulp )',
  499. $ ' DBDSVX(V,I)',
  500. $ / ' 26: norm( I - U'' U ) / ( min(m,n) ulp )',
  501. $ / ' 27: norm( I - V'' V ) / ( min(m,n) ulp )',
  502. $ / ' 28: Test ordering of S (0 if nondecreasing, 1/ulp ',
  503. $ ' otherwise)',
  504. $ / ' 29: norm( S - S1 ) / ( norm(S) ulp ),',
  505. $ ' where S1 is computed', / 44X,
  506. $ ' without computing U and V''',
  507. $ / ' 30: norm( S - U'' B V ) / ( norm(B) n ulp )',
  508. $ ' DBDSVX(V,V)',
  509. $ / ' 31: norm( I - U'' U ) / ( min(m,n) ulp )',
  510. $ / ' 32: norm( I - V'' V ) / ( min(m,n) ulp )',
  511. $ / ' 33: Test ordering of S (0 if nondecreasing, 1/ulp ',
  512. $ ' otherwise)',
  513. $ / ' 34: norm( S - S1 ) / ( norm(S) ulp ),',
  514. $ ' where S1 is computed', / 44X,
  515. $ ' without computing U and V''' )
  516. *
  517. * Band reduction to bidiagonal form
  518. *
  519. 9970 FORMAT( ' Matrix types (see xCHKBB for details):',
  520. $ / ' Diagonal matrices:', / ' 1: Zero', 28X,
  521. $ ' 5: Clustered entries', / ' 2: Identity', 24X,
  522. $ ' 6: Large, evenly spaced entries',
  523. $ / ' 3: Evenly spaced entries', 11X,
  524. $ ' 7: Small, evenly spaced entries',
  525. $ / ' 4: Geometrically spaced entries',
  526. $ / ' General matrices:', / ' 8: Evenly spaced sing. vals.',
  527. $ 7X, '12: Small, evenly spaced sing vals',
  528. $ / ' 9: Geometrically spaced sing vals ',
  529. $ '13: Random, O(1) entries', / ' 10: Clustered sing. vals.',
  530. $ 11X, '14: Random, scaled near overflow',
  531. $ / ' 11: Large, evenly spaced sing vals ',
  532. $ '15: Random, scaled near underflow' )
  533. *
  534. 9969 FORMAT( / ' Test ratios: ', '(B: upper bidiagonal, Q and P: ',
  535. $ A10, / 16X, 'C: m x nrhs, PT = P'', Y = Q'' C)',
  536. $ / ' 1: norm( A - Q B PT ) / ( norm(A) max(m,n) ulp )',
  537. $ / ' 2: norm( I - Q'' Q ) / ( m ulp )',
  538. $ / ' 3: norm( I - PT PT'' ) / ( n ulp )',
  539. $ / ' 4: norm( Y - Q'' C ) / ( norm(Y) max(m,nrhs) ulp )' )
  540. 9968 FORMAT( / ' Tests performed: See sdrvst.f' )
  541. 9967 FORMAT( / ' Tests performed: See cdrvst.f' )
  542. *
  543. * End of DLAHD2
  544. *
  545. END