DGET51
   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
November 2006
November 2006
Purpose
     DGET51  generally checks a decomposition of the form
A = U B V'
where ' means transpose and U and V are orthogonal.
Specifically, if ITYPE=1
RESULT = | A - U B V' | / ( |A| n ulp )
If ITYPE=2, then:
RESULT = | A - B | / ( |A| n ulp )
If ITYPE=3, then:
RESULT = | I - UU' | / ( n ulp )
A = U B V'
where ' means transpose and U and V are orthogonal.
Specifically, if ITYPE=1
RESULT = | A - U B V' | / ( |A| n ulp )
If ITYPE=2, then:
RESULT = | A - B | / ( |A| n ulp )
If ITYPE=3, then:
RESULT = | I - UU' | / ( n ulp )
Arguments
| ITYPE | 
 
(input) INTEGER
 
Specifies the type of tests to be performed. 
=1: RESULT = | A - U B V' | / ( |A| n ulp ) =2: RESULT = | A - B | / ( |A| n ulp ) =3: RESULT = | I - UU' | / ( n ulp )  | 
| N | 
 
(input) INTEGER
 
The size of the matrix.  If it is zero, DGET51 does nothing. 
It must be at least zero.  | 
| A | 
 
(input) DOUBLE PRECISION array, dimension (LDA, N)
 
The original (unfactored) matrix. 
 | 
| LDA | 
 
(input) INTEGER
 
The leading dimension of A.  It must be at least 1 
and at least N.  | 
| B | 
 
(input) DOUBLE PRECISION array, dimension (LDB, N)
 
The factored matrix. 
 | 
| LDB | 
 
(input) INTEGER
 
The leading dimension of B.  It must be at least 1 
and at least N.  | 
| U | 
 
(input) DOUBLE PRECISION array, dimension (LDU, N)
 
The orthogonal matrix on the left-hand side in the 
decomposition. Not referenced if ITYPE=2  | 
| LDU | 
 
(input) INTEGER
 
The leading dimension of U.  LDU must be at least N and 
at least 1.  | 
| V | 
 
(input) DOUBLE PRECISION array, dimension (LDV, N)
 
The orthogonal matrix on the left-hand side in the 
decomposition. Not referenced if ITYPE=2  | 
| LDV | 
 
(input) INTEGER
 
The leading dimension of V.  LDV must be at least N and 
at least 1.  | 
| WORK | 
 
(workspace) DOUBLE PRECISION array, dimension (2*N**2)
 
 | 
| RESULT | 
 
(output) DOUBLE PRECISION
 
The values computed by the test specified by ITYPE.  The 
value is currently limited to 1/ulp, to avoid overflow. Errors are flagged by RESULT=10/ulp.  |