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.

slahd2.f 19 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. *> \brief \b SLAHD2
  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 SLAHD2( 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. *> SLAHD2 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. *> SHS, CHS: Non-symmetric eigenproblem.
  44. *> SST, CST: Symmetric eigenproblem.
  45. *> SSG, CSG: Symmetric Generalized eigenproblem.
  46. *> SBD, CBD: Singular Value Decomposition (SVD)
  47. *> SBB, CBB: 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 November 2011
  62. *
  63. *> \ingroup single_eig
  64. *
  65. * =====================================================================
  66. SUBROUTINE SLAHD2( IOUNIT, PATH )
  67. *
  68. * -- LAPACK test routine (version 3.4.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. * November 2011
  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 = SSYGV, with ITYPE=1 and UPLO=''U'':',
  381. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  382. $ / ' 2 = SSPGV, with ITYPE=1 and UPLO=''U'':',
  383. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  384. $ / ' 3 = SSBGV, with ITYPE=1 and UPLO=''U'':',
  385. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  386. $ / ' 4 = SSYGV, with ITYPE=1 and UPLO=''L'':',
  387. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  388. $ / ' 5 = SSPGV, with ITYPE=1 and UPLO=''L'':',
  389. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  390. $ / ' 6 = SSBGV, with ITYPE=1 and UPLO=''L'':',
  391. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ' )
  392. 9976 FORMAT( ' 7 = SSYGV, with ITYPE=2 and UPLO=''U'':',
  393. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  394. $ / ' 8 = SSPGV, with ITYPE=2 and UPLO=''U'':',
  395. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  396. $ / ' 9 = SSPGV, with ITYPE=2 and UPLO=''L'':',
  397. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  398. $ / '10 = SSPGV, with ITYPE=2 and UPLO=''L'':',
  399. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  400. $ / '11 = SSYGV, with ITYPE=3 and UPLO=''U'':',
  401. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  402. $ / '12 = SSPGV, with ITYPE=3 and UPLO=''U'':',
  403. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  404. $ / '13 = SSYGV, with ITYPE=3 and UPLO=''L'':',
  405. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  406. $ / '14 = SSPGV, 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 = CHEGV, with ITYPE=1 and UPLO=''U'':',
  413. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  414. $ / ' 2 = CHPGV, with ITYPE=1 and UPLO=''U'':',
  415. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  416. $ / ' 3 = CHBGV, with ITYPE=1 and UPLO=''U'':',
  417. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  418. $ / ' 4 = CHEGV, with ITYPE=1 and UPLO=''L'':',
  419. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  420. $ / ' 5 = CHPGV, with ITYPE=1 and UPLO=''L'':',
  421. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ',
  422. $ / ' 6 = CHBGV, with ITYPE=1 and UPLO=''L'':',
  423. $ ' | A Z - B Z D | / ( |A| |Z| n ulp ) ' )
  424. 9974 FORMAT( ' 7 = CHEGV, with ITYPE=2 and UPLO=''U'':',
  425. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  426. $ / ' 8 = CHPGV, with ITYPE=2 and UPLO=''U'':',
  427. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  428. $ / ' 9 = CHPGV, with ITYPE=2 and UPLO=''L'':',
  429. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  430. $ / '10 = CHPGV, with ITYPE=2 and UPLO=''L'':',
  431. $ ' | A B Z - Z D | / ( |A| |Z| n ulp ) ',
  432. $ / '11 = CHEGV, with ITYPE=3 and UPLO=''U'':',
  433. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  434. $ / '12 = CHPGV, with ITYPE=3 and UPLO=''U'':',
  435. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  436. $ / '13 = CHEGV, with ITYPE=3 and UPLO=''L'':',
  437. $ ' | B A Z - Z D | / ( |A| |Z| n ulp ) ',
  438. $ / '14 = CHPGV, 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. $ / ' 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 ) / ( norm(Z) max(min(m,n),k) ulp )'
  466. $ , / ' 6: norm( I - U'' U ) / ( min(m,n) ulp )',
  467. $ / ' 7: norm( I - V'' V ) / ( min(m,n) ulp )' )
  468. 9971 FORMAT( ' 8: Test ordering of S (0 if nondecreasing, 1/ulp ',
  469. $ ' otherwise)', /
  470. $ ' 9: norm( S - S2 ) / ( norm(S) ulp ),',
  471. $ ' where S2 is computed', / 44X,
  472. $ 'without computing U and V''',
  473. $ / ' 10: Sturm sequence test ',
  474. $ '(0 if sing. vals of B within THRESH of S)',
  475. $ / ' 11: norm( A - (QU) S (V'' P'') ) / ',
  476. $ '( norm(A) max(m,n) ulp )', /
  477. $ ' 12: norm( X - (QU) Z ) / ( |X| max(M,k) ulp )',
  478. $ / ' 13: norm( I - (QU)''(QU) ) / ( M ulp )',
  479. $ / ' 14: norm( I - (V'' P'') (P V) ) / ( N ulp )' )
  480. *
  481. * Band reduction to bidiagonal form
  482. *
  483. 9970 FORMAT( ' Matrix types (see xCHKBB for details):',
  484. $ / ' Diagonal matrices:', / ' 1: Zero', 28X,
  485. $ ' 5: Clustered entries', / ' 2: Identity', 24X,
  486. $ ' 6: Large, evenly spaced entries',
  487. $ / ' 3: Evenly spaced entries', 11X,
  488. $ ' 7: Small, evenly spaced entries',
  489. $ / ' 4: Geometrically spaced entries',
  490. $ / ' General matrices:', / ' 8: Evenly spaced sing. vals.',
  491. $ 7X, '12: Small, evenly spaced sing vals',
  492. $ / ' 9: Geometrically spaced sing vals ',
  493. $ '13: Random, O(1) entries', / ' 10: Clustered sing. vals.',
  494. $ 11X, '14: Random, scaled near overflow',
  495. $ / ' 11: Large, evenly spaced sing vals ',
  496. $ '15: Random, scaled near underflow' )
  497. *
  498. 9969 FORMAT( / ' Test ratios: ', '(B: upper bidiagonal, Q and P: ',
  499. $ A10, / 16X, 'C: m x nrhs, PT = P'', Y = Q'' C)',
  500. $ / ' 1: norm( A - Q B PT ) / ( norm(A) max(m,n) ulp )',
  501. $ / ' 2: norm( I - Q'' Q ) / ( m ulp )',
  502. $ / ' 3: norm( I - PT PT'' ) / ( n ulp )',
  503. $ / ' 4: norm( Y - Q'' C ) / ( norm(Y) max(m,nrhs) ulp )' )
  504. 9968 FORMAT( / ' Tests performed: See sdrvst.f' )
  505. 9967 FORMAT( / ' Tests performed: See cdrvst.f' )
  506. *
  507. * End of SLAHD2
  508. *
  509. END