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