1 SUBROUTINE ALAHDG( IOUNIT, PATH )
2 *
3 * -- LAPACK test routine (version 3.1.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER IOUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * ALAHDG prints header information for the different test paths.
16 *
17 * Arguments
18 * =========
19 *
20 * IOUNIT (input) INTEGER
21 * The unit number to which the header information should be
22 * printed.
23 *
24 * PATH (input) CHARACTER*3
25 * The name of the path for which the header information is to
26 * be printed. Current paths are
27 * GQR: GQR (general matrices)
28 * GRQ: GRQ (general matrices)
29 * LSE: LSE Problem
30 * GLM: GLM Problem
31 * GSV: Generalized Singular Value Decomposition
32 * CSD: CS Decomposition
33 *
34 * =====================================================================
35 *
36 * .. Local Scalars ..
37 CHARACTER*3 C2
38 INTEGER ITYPE
39 * ..
40 * .. External Functions ..
41 LOGICAL LSAMEN
42 EXTERNAL LSAMEN
43 * ..
44 * .. Executable Statements ..
45 *
46 IF( IOUNIT.LE.0 )
47 $ RETURN
48 C2 = PATH( 1: 3 )
49 *
50 * First line describing matrices in this path
51 *
52 IF( LSAMEN( 3, C2, 'GQR' ) ) THEN
53 ITYPE = 1
54 WRITE( IOUNIT, FMT = 9991 )PATH
55 ELSE IF( LSAMEN( 3, C2, 'GRQ' ) ) THEN
56 ITYPE = 2
57 WRITE( IOUNIT, FMT = 9992 )PATH
58 ELSE IF( LSAMEN( 3, C2, 'LSE' ) ) THEN
59 ITYPE = 3
60 WRITE( IOUNIT, FMT = 9993 )PATH
61 ELSE IF( LSAMEN( 3, C2, 'GLM' ) ) THEN
62 ITYPE = 4
63 WRITE( IOUNIT, FMT = 9994 )PATH
64 ELSE IF( LSAMEN( 3, C2, 'GSV' ) ) THEN
65 ITYPE = 5
66 WRITE( IOUNIT, FMT = 9995 )PATH
67 ELSE IF( LSAMEN( 3, C2, 'CSD' ) ) THEN
68 ITYPE = 6
69 WRITE( IOUNIT, FMT = 9996 )PATH
70 END IF
71 *
72 * Matrix types
73 *
74 WRITE( IOUNIT, FMT = 9999 )'Matrix types: '
75 *
76 IF( ITYPE.EQ.1 )THEN
77 WRITE( IOUNIT, FMT = 9950 )1
78 WRITE( IOUNIT, FMT = 9952 )2
79 WRITE( IOUNIT, FMT = 9954 )3
80 WRITE( IOUNIT, FMT = 9955 )4
81 WRITE( IOUNIT, FMT = 9956 )5
82 WRITE( IOUNIT, FMT = 9957 )6
83 WRITE( IOUNIT, FMT = 9961 )7
84 WRITE( IOUNIT, FMT = 9962 )8
85 ELSE IF( ITYPE.EQ.2 )THEN
86 WRITE( IOUNIT, FMT = 9951 )1
87 WRITE( IOUNIT, FMT = 9953 )2
88 WRITE( IOUNIT, FMT = 9954 )3
89 WRITE( IOUNIT, FMT = 9955 )4
90 WRITE( IOUNIT, FMT = 9956 )5
91 WRITE( IOUNIT, FMT = 9957 )6
92 WRITE( IOUNIT, FMT = 9961 )7
93 WRITE( IOUNIT, FMT = 9962 )8
94 ELSE IF( ITYPE.EQ.3 )THEN
95 WRITE( IOUNIT, FMT = 9950 )1
96 WRITE( IOUNIT, FMT = 9952 )2
97 WRITE( IOUNIT, FMT = 9954 )3
98 WRITE( IOUNIT, FMT = 9955 )4
99 WRITE( IOUNIT, FMT = 9955 )5
100 WRITE( IOUNIT, FMT = 9955 )6
101 WRITE( IOUNIT, FMT = 9955 )7
102 WRITE( IOUNIT, FMT = 9955 )8
103 ELSE IF( ITYPE.EQ.4 )THEN
104 WRITE( IOUNIT, FMT = 9951 )1
105 WRITE( IOUNIT, FMT = 9953 )2
106 WRITE( IOUNIT, FMT = 9954 )3
107 WRITE( IOUNIT, FMT = 9955 )4
108 WRITE( IOUNIT, FMT = 9955 )5
109 WRITE( IOUNIT, FMT = 9955 )6
110 WRITE( IOUNIT, FMT = 9955 )7
111 WRITE( IOUNIT, FMT = 9955 )8
112 ELSE IF( ITYPE.EQ.5 )THEN
113 WRITE( IOUNIT, FMT = 9950 )1
114 WRITE( IOUNIT, FMT = 9952 )2
115 WRITE( IOUNIT, FMT = 9954 )3
116 WRITE( IOUNIT, FMT = 9955 )4
117 WRITE( IOUNIT, FMT = 9956 )5
118 WRITE( IOUNIT, FMT = 9957 )6
119 WRITE( IOUNIT, FMT = 9959 )7
120 WRITE( IOUNIT, FMT = 9960 )8
121 ELSE IF( ITYPE.EQ.6 )THEN
122 WRITE( IOUNIT, FMT = 9963 )1
123 WRITE( IOUNIT, FMT = 9964 )2
124 WRITE( IOUNIT, FMT = 9965 )3
125 END IF
126 *
127 * Tests performed
128 *
129 WRITE( IOUNIT, FMT = 9999 )'Test ratios: '
130 *
131 IF( ITYPE.EQ.1 ) THEN
132 *
133 * GQR decomposition of rectangular matrices
134 *
135 WRITE( IOUNIT, FMT = 9930 )1
136 WRITE( IOUNIT, FMT = 9931 )2
137 WRITE( IOUNIT, FMT = 9932 )3
138 WRITE( IOUNIT, FMT = 9933 )4
139 ELSE IF( ITYPE.EQ.2 ) THEN
140 *
141 * GRQ decomposition of rectangular matrices
142 *
143 WRITE( IOUNIT, FMT = 9934 )1
144 WRITE( IOUNIT, FMT = 9935 )2
145 WRITE( IOUNIT, FMT = 9932 )3
146 WRITE( IOUNIT, FMT = 9933 )4
147 ELSE IF( ITYPE.EQ.3 ) THEN
148 *
149 * LSE Problem
150 *
151 WRITE( IOUNIT, FMT = 9937 )1
152 WRITE( IOUNIT, FMT = 9938 )2
153 ELSE IF( ITYPE.EQ.4 ) THEN
154 *
155 * GLM Problem
156 *
157 WRITE( IOUNIT, FMT = 9939 )1
158 ELSE IF( ITYPE.EQ.5 ) THEN
159 *
160 * GSVD
161 *
162 WRITE( IOUNIT, FMT = 9940 )1
163 WRITE( IOUNIT, FMT = 9941 )2
164 WRITE( IOUNIT, FMT = 9942 )3
165 WRITE( IOUNIT, FMT = 9943 )4
166 WRITE( IOUNIT, FMT = 9944 )5
167 ELSE IF( ITYPE.EQ.6 ) THEN
168 *
169 * CSD
170 *
171 WRITE( IOUNIT, FMT = 9920 )1
172 WRITE( IOUNIT, FMT = 9921 )2
173 WRITE( IOUNIT, FMT = 9922 )3
174 WRITE( IOUNIT, FMT = 9923 )4
175 WRITE( IOUNIT, FMT = 9924 )5
176 WRITE( IOUNIT, FMT = 9925 )6
177 WRITE( IOUNIT, FMT = 9926 )7
178 WRITE( IOUNIT, FMT = 9927 )8
179 END IF
180 *
181 9999 FORMAT( 1X, A )
182 9991 FORMAT( / 1X, A3, ': GQR factorization of general matrices' )
183 9992 FORMAT( / 1X, A3, ': GRQ factorization of general matrices' )
184 9993 FORMAT( / 1X, A3, ': LSE Problem' )
185 9994 FORMAT( / 1X, A3, ': GLM Problem' )
186 9995 FORMAT( / 1X, A3, ': Generalized Singular Value Decomposition' )
187 9996 FORMAT( / 1X, A3, ': CS Decomposition' )
188 *
189 9950 FORMAT( 3X, I2, ': A-diagonal matrix B-upper triangular' )
190 9951 FORMAT( 3X, I2, ': A-diagonal matrix B-lower triangular' )
191 9952 FORMAT( 3X, I2, ': A-upper triangular B-upper triangular' )
192 9953 FORMAT( 3X, I2, ': A-lower triangular B-diagonal triangular' )
193 9954 FORMAT( 3X, I2, ': A-lower triangular B-upper triangular' )
194 *
195 9955 FORMAT( 3X, I2, ': Random matrices cond(A)=100, cond(B)=10,' )
196 *
197 9956 FORMAT( 3X, I2, ': Random matrices cond(A)= sqrt( 0.1/EPS ) ',
198 $ 'cond(B)= sqrt( 0.1/EPS )' )
199 9957 FORMAT( 3X, I2, ': Random matrices cond(A)= 0.1/EPS ',
200 $ 'cond(B)= 0.1/EPS' )
201 9959 FORMAT( 3X, I2, ': Random matrices cond(A)= sqrt( 0.1/EPS ) ',
202 $ 'cond(B)= 0.1/EPS ' )
203 9960 FORMAT( 3X, I2, ': Random matrices cond(A)= 0.1/EPS ',
204 $ 'cond(B)= sqrt( 0.1/EPS )' )
205 *
206 9961 FORMAT( 3X, I2, ': Matrix scaled near underflow limit' )
207 9962 FORMAT( 3X, I2, ': Matrix scaled near overflow limit' )
208 9963 FORMAT( 3X, I2, ': Random orthogonal matrix (Haar measure)' )
209 9964 FORMAT( 3X, I2, ': Nearly orthogonal matrix with uniformly ',
210 $ 'distributed angles atan2( S, C ) in CS decomposition' )
211 9965 FORMAT( 3X, I2, ': Random orthogonal matrix with clustered ',
212 $ 'angles atan2( S, C ) in CS decomposition' )
213 *
214 *
215 * GQR test ratio
216 *
217 9930 FORMAT( 3X, I2, ': norm( R - Q'' * A ) / ( min( N, M )*norm( A )',
218 $ '* EPS )' )
219 9931 FORMAT( 3X, I2, ': norm( T * Z - Q'' * B ) / ( min(P,N)*norm(B)',
220 $ '* EPS )' )
221 9932 FORMAT( 3X, I2, ': norm( I - Q''*Q ) / ( N * EPS )' )
222 9933 FORMAT( 3X, I2, ': norm( I - Z''*Z ) / ( P * EPS )' )
223 *
224 * GRQ test ratio
225 *
226 9934 FORMAT( 3X, I2, ': norm( R - A * Q'' ) / ( min( N,M )*norm(A) * ',
227 $ 'EPS )' )
228 9935 FORMAT( 3X, I2, ': norm( T * Q - Z'' * B ) / ( min( P,N ) * nor',
229 $ 'm(B)*EPS )' )
230 *
231 * LSE test ratio
232 *
233 9937 FORMAT( 3X, I2, ': norm( A*x - c ) / ( norm(A)*norm(x) * EPS )' )
234 9938 FORMAT( 3X, I2, ': norm( B*x - d ) / ( norm(B)*norm(x) * EPS )' )
235 *
236 * GLM test ratio
237 *
238 9939 FORMAT( 3X, I2, ': norm( d - A*x - B*y ) / ( (norm(A)+norm(B) )*',
239 $ '(norm(x)+norm(y))*EPS )' )
240 *
241 * GSVD test ratio
242 *
243 9940 FORMAT( 3X, I2, ': norm( U'' * A * Q - D1 * R ) / ( min( M, N )*',
244 $ 'norm( A ) * EPS )' )
245 9941 FORMAT( 3X, I2, ': norm( V'' * B * Q - D2 * R ) / ( min( P, N )*',
246 $ 'norm( B ) * EPS )' )
247 9942 FORMAT( 3X, I2, ': norm( I - U''*U ) / ( M * EPS )' )
248 9943 FORMAT( 3X, I2, ': norm( I - V''*V ) / ( P * EPS )' )
249 9944 FORMAT( 3X, I2, ': norm( I - Q''*Q ) / ( N * EPS )' )
250 *
251 * CSD test ratio
252 *
253 9920 FORMAT( 3X, I2, ': norm( U1'' * X11 * V1 - C ) / ( max( P, Q)',
254 $ ' * max(norm(I-X''*X),EPS) )' )
255 9921 FORMAT( 3X, I2, ': norm( U1'' * X12 * V2-(-S)) / ( max( P,',
256 $ 'M-Q) * max(norm(I-X''*X),EPS) )' )
257 9922 FORMAT( 3X, I2, ': norm( U2'' * X21 * V1 - S ) / ( max(M-P,',
258 $ ' Q) * max(norm(I-X''*X),EPS) )' )
259 9923 FORMAT( 3X, I2, ': norm( U2'' * X22 * V2 - C ) / ( max(M-P,',
260 $ 'M-Q) * max(norm(I-X''*X),EPS) )' )
261 9924 FORMAT( 3X, I2, ': norm( I - U1''*U1 ) / ( P * EPS )' )
262 9925 FORMAT( 3X, I2, ': norm( I - U2''*U2 ) / ( (M-P) * EPS )' )
263 9926 FORMAT( 3X, I2, ': norm( I - V1''*V1 ) / ( Q * EPS )' )
264 9927 FORMAT( 3X, I2, ': norm( I - V2''*V2 ) / ( (M-Q) * EPS )' )
265 RETURN
266 *
267 * End of ALAHDG
268 *
269 END
2 *
3 * -- LAPACK test routine (version 3.1.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER IOUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * ALAHDG prints header information for the different test paths.
16 *
17 * Arguments
18 * =========
19 *
20 * IOUNIT (input) INTEGER
21 * The unit number to which the header information should be
22 * printed.
23 *
24 * PATH (input) CHARACTER*3
25 * The name of the path for which the header information is to
26 * be printed. Current paths are
27 * GQR: GQR (general matrices)
28 * GRQ: GRQ (general matrices)
29 * LSE: LSE Problem
30 * GLM: GLM Problem
31 * GSV: Generalized Singular Value Decomposition
32 * CSD: CS Decomposition
33 *
34 * =====================================================================
35 *
36 * .. Local Scalars ..
37 CHARACTER*3 C2
38 INTEGER ITYPE
39 * ..
40 * .. External Functions ..
41 LOGICAL LSAMEN
42 EXTERNAL LSAMEN
43 * ..
44 * .. Executable Statements ..
45 *
46 IF( IOUNIT.LE.0 )
47 $ RETURN
48 C2 = PATH( 1: 3 )
49 *
50 * First line describing matrices in this path
51 *
52 IF( LSAMEN( 3, C2, 'GQR' ) ) THEN
53 ITYPE = 1
54 WRITE( IOUNIT, FMT = 9991 )PATH
55 ELSE IF( LSAMEN( 3, C2, 'GRQ' ) ) THEN
56 ITYPE = 2
57 WRITE( IOUNIT, FMT = 9992 )PATH
58 ELSE IF( LSAMEN( 3, C2, 'LSE' ) ) THEN
59 ITYPE = 3
60 WRITE( IOUNIT, FMT = 9993 )PATH
61 ELSE IF( LSAMEN( 3, C2, 'GLM' ) ) THEN
62 ITYPE = 4
63 WRITE( IOUNIT, FMT = 9994 )PATH
64 ELSE IF( LSAMEN( 3, C2, 'GSV' ) ) THEN
65 ITYPE = 5
66 WRITE( IOUNIT, FMT = 9995 )PATH
67 ELSE IF( LSAMEN( 3, C2, 'CSD' ) ) THEN
68 ITYPE = 6
69 WRITE( IOUNIT, FMT = 9996 )PATH
70 END IF
71 *
72 * Matrix types
73 *
74 WRITE( IOUNIT, FMT = 9999 )'Matrix types: '
75 *
76 IF( ITYPE.EQ.1 )THEN
77 WRITE( IOUNIT, FMT = 9950 )1
78 WRITE( IOUNIT, FMT = 9952 )2
79 WRITE( IOUNIT, FMT = 9954 )3
80 WRITE( IOUNIT, FMT = 9955 )4
81 WRITE( IOUNIT, FMT = 9956 )5
82 WRITE( IOUNIT, FMT = 9957 )6
83 WRITE( IOUNIT, FMT = 9961 )7
84 WRITE( IOUNIT, FMT = 9962 )8
85 ELSE IF( ITYPE.EQ.2 )THEN
86 WRITE( IOUNIT, FMT = 9951 )1
87 WRITE( IOUNIT, FMT = 9953 )2
88 WRITE( IOUNIT, FMT = 9954 )3
89 WRITE( IOUNIT, FMT = 9955 )4
90 WRITE( IOUNIT, FMT = 9956 )5
91 WRITE( IOUNIT, FMT = 9957 )6
92 WRITE( IOUNIT, FMT = 9961 )7
93 WRITE( IOUNIT, FMT = 9962 )8
94 ELSE IF( ITYPE.EQ.3 )THEN
95 WRITE( IOUNIT, FMT = 9950 )1
96 WRITE( IOUNIT, FMT = 9952 )2
97 WRITE( IOUNIT, FMT = 9954 )3
98 WRITE( IOUNIT, FMT = 9955 )4
99 WRITE( IOUNIT, FMT = 9955 )5
100 WRITE( IOUNIT, FMT = 9955 )6
101 WRITE( IOUNIT, FMT = 9955 )7
102 WRITE( IOUNIT, FMT = 9955 )8
103 ELSE IF( ITYPE.EQ.4 )THEN
104 WRITE( IOUNIT, FMT = 9951 )1
105 WRITE( IOUNIT, FMT = 9953 )2
106 WRITE( IOUNIT, FMT = 9954 )3
107 WRITE( IOUNIT, FMT = 9955 )4
108 WRITE( IOUNIT, FMT = 9955 )5
109 WRITE( IOUNIT, FMT = 9955 )6
110 WRITE( IOUNIT, FMT = 9955 )7
111 WRITE( IOUNIT, FMT = 9955 )8
112 ELSE IF( ITYPE.EQ.5 )THEN
113 WRITE( IOUNIT, FMT = 9950 )1
114 WRITE( IOUNIT, FMT = 9952 )2
115 WRITE( IOUNIT, FMT = 9954 )3
116 WRITE( IOUNIT, FMT = 9955 )4
117 WRITE( IOUNIT, FMT = 9956 )5
118 WRITE( IOUNIT, FMT = 9957 )6
119 WRITE( IOUNIT, FMT = 9959 )7
120 WRITE( IOUNIT, FMT = 9960 )8
121 ELSE IF( ITYPE.EQ.6 )THEN
122 WRITE( IOUNIT, FMT = 9963 )1
123 WRITE( IOUNIT, FMT = 9964 )2
124 WRITE( IOUNIT, FMT = 9965 )3
125 END IF
126 *
127 * Tests performed
128 *
129 WRITE( IOUNIT, FMT = 9999 )'Test ratios: '
130 *
131 IF( ITYPE.EQ.1 ) THEN
132 *
133 * GQR decomposition of rectangular matrices
134 *
135 WRITE( IOUNIT, FMT = 9930 )1
136 WRITE( IOUNIT, FMT = 9931 )2
137 WRITE( IOUNIT, FMT = 9932 )3
138 WRITE( IOUNIT, FMT = 9933 )4
139 ELSE IF( ITYPE.EQ.2 ) THEN
140 *
141 * GRQ decomposition of rectangular matrices
142 *
143 WRITE( IOUNIT, FMT = 9934 )1
144 WRITE( IOUNIT, FMT = 9935 )2
145 WRITE( IOUNIT, FMT = 9932 )3
146 WRITE( IOUNIT, FMT = 9933 )4
147 ELSE IF( ITYPE.EQ.3 ) THEN
148 *
149 * LSE Problem
150 *
151 WRITE( IOUNIT, FMT = 9937 )1
152 WRITE( IOUNIT, FMT = 9938 )2
153 ELSE IF( ITYPE.EQ.4 ) THEN
154 *
155 * GLM Problem
156 *
157 WRITE( IOUNIT, FMT = 9939 )1
158 ELSE IF( ITYPE.EQ.5 ) THEN
159 *
160 * GSVD
161 *
162 WRITE( IOUNIT, FMT = 9940 )1
163 WRITE( IOUNIT, FMT = 9941 )2
164 WRITE( IOUNIT, FMT = 9942 )3
165 WRITE( IOUNIT, FMT = 9943 )4
166 WRITE( IOUNIT, FMT = 9944 )5
167 ELSE IF( ITYPE.EQ.6 ) THEN
168 *
169 * CSD
170 *
171 WRITE( IOUNIT, FMT = 9920 )1
172 WRITE( IOUNIT, FMT = 9921 )2
173 WRITE( IOUNIT, FMT = 9922 )3
174 WRITE( IOUNIT, FMT = 9923 )4
175 WRITE( IOUNIT, FMT = 9924 )5
176 WRITE( IOUNIT, FMT = 9925 )6
177 WRITE( IOUNIT, FMT = 9926 )7
178 WRITE( IOUNIT, FMT = 9927 )8
179 END IF
180 *
181 9999 FORMAT( 1X, A )
182 9991 FORMAT( / 1X, A3, ': GQR factorization of general matrices' )
183 9992 FORMAT( / 1X, A3, ': GRQ factorization of general matrices' )
184 9993 FORMAT( / 1X, A3, ': LSE Problem' )
185 9994 FORMAT( / 1X, A3, ': GLM Problem' )
186 9995 FORMAT( / 1X, A3, ': Generalized Singular Value Decomposition' )
187 9996 FORMAT( / 1X, A3, ': CS Decomposition' )
188 *
189 9950 FORMAT( 3X, I2, ': A-diagonal matrix B-upper triangular' )
190 9951 FORMAT( 3X, I2, ': A-diagonal matrix B-lower triangular' )
191 9952 FORMAT( 3X, I2, ': A-upper triangular B-upper triangular' )
192 9953 FORMAT( 3X, I2, ': A-lower triangular B-diagonal triangular' )
193 9954 FORMAT( 3X, I2, ': A-lower triangular B-upper triangular' )
194 *
195 9955 FORMAT( 3X, I2, ': Random matrices cond(A)=100, cond(B)=10,' )
196 *
197 9956 FORMAT( 3X, I2, ': Random matrices cond(A)= sqrt( 0.1/EPS ) ',
198 $ 'cond(B)= sqrt( 0.1/EPS )' )
199 9957 FORMAT( 3X, I2, ': Random matrices cond(A)= 0.1/EPS ',
200 $ 'cond(B)= 0.1/EPS' )
201 9959 FORMAT( 3X, I2, ': Random matrices cond(A)= sqrt( 0.1/EPS ) ',
202 $ 'cond(B)= 0.1/EPS ' )
203 9960 FORMAT( 3X, I2, ': Random matrices cond(A)= 0.1/EPS ',
204 $ 'cond(B)= sqrt( 0.1/EPS )' )
205 *
206 9961 FORMAT( 3X, I2, ': Matrix scaled near underflow limit' )
207 9962 FORMAT( 3X, I2, ': Matrix scaled near overflow limit' )
208 9963 FORMAT( 3X, I2, ': Random orthogonal matrix (Haar measure)' )
209 9964 FORMAT( 3X, I2, ': Nearly orthogonal matrix with uniformly ',
210 $ 'distributed angles atan2( S, C ) in CS decomposition' )
211 9965 FORMAT( 3X, I2, ': Random orthogonal matrix with clustered ',
212 $ 'angles atan2( S, C ) in CS decomposition' )
213 *
214 *
215 * GQR test ratio
216 *
217 9930 FORMAT( 3X, I2, ': norm( R - Q'' * A ) / ( min( N, M )*norm( A )',
218 $ '* EPS )' )
219 9931 FORMAT( 3X, I2, ': norm( T * Z - Q'' * B ) / ( min(P,N)*norm(B)',
220 $ '* EPS )' )
221 9932 FORMAT( 3X, I2, ': norm( I - Q''*Q ) / ( N * EPS )' )
222 9933 FORMAT( 3X, I2, ': norm( I - Z''*Z ) / ( P * EPS )' )
223 *
224 * GRQ test ratio
225 *
226 9934 FORMAT( 3X, I2, ': norm( R - A * Q'' ) / ( min( N,M )*norm(A) * ',
227 $ 'EPS )' )
228 9935 FORMAT( 3X, I2, ': norm( T * Q - Z'' * B ) / ( min( P,N ) * nor',
229 $ 'm(B)*EPS )' )
230 *
231 * LSE test ratio
232 *
233 9937 FORMAT( 3X, I2, ': norm( A*x - c ) / ( norm(A)*norm(x) * EPS )' )
234 9938 FORMAT( 3X, I2, ': norm( B*x - d ) / ( norm(B)*norm(x) * EPS )' )
235 *
236 * GLM test ratio
237 *
238 9939 FORMAT( 3X, I2, ': norm( d - A*x - B*y ) / ( (norm(A)+norm(B) )*',
239 $ '(norm(x)+norm(y))*EPS )' )
240 *
241 * GSVD test ratio
242 *
243 9940 FORMAT( 3X, I2, ': norm( U'' * A * Q - D1 * R ) / ( min( M, N )*',
244 $ 'norm( A ) * EPS )' )
245 9941 FORMAT( 3X, I2, ': norm( V'' * B * Q - D2 * R ) / ( min( P, N )*',
246 $ 'norm( B ) * EPS )' )
247 9942 FORMAT( 3X, I2, ': norm( I - U''*U ) / ( M * EPS )' )
248 9943 FORMAT( 3X, I2, ': norm( I - V''*V ) / ( P * EPS )' )
249 9944 FORMAT( 3X, I2, ': norm( I - Q''*Q ) / ( N * EPS )' )
250 *
251 * CSD test ratio
252 *
253 9920 FORMAT( 3X, I2, ': norm( U1'' * X11 * V1 - C ) / ( max( P, Q)',
254 $ ' * max(norm(I-X''*X),EPS) )' )
255 9921 FORMAT( 3X, I2, ': norm( U1'' * X12 * V2-(-S)) / ( max( P,',
256 $ 'M-Q) * max(norm(I-X''*X),EPS) )' )
257 9922 FORMAT( 3X, I2, ': norm( U2'' * X21 * V1 - S ) / ( max(M-P,',
258 $ ' Q) * max(norm(I-X''*X),EPS) )' )
259 9923 FORMAT( 3X, I2, ': norm( U2'' * X22 * V2 - C ) / ( max(M-P,',
260 $ 'M-Q) * max(norm(I-X''*X),EPS) )' )
261 9924 FORMAT( 3X, I2, ': norm( I - U1''*U1 ) / ( P * EPS )' )
262 9925 FORMAT( 3X, I2, ': norm( I - U2''*U2 ) / ( (M-P) * EPS )' )
263 9926 FORMAT( 3X, I2, ': norm( I - V1''*V1 ) / ( Q * EPS )' )
264 9927 FORMAT( 3X, I2, ': norm( I - V2''*V2 ) / ( (M-Q) * EPS )' )
265 RETURN
266 *
267 * End of ALAHDG
268 *
269 END