![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine zunt03 | ( | character*( * ) | RC, |
| integer | MU, | ||
| integer | MV, | ||
| integer | N, | ||
| integer | K, | ||
| complex*16, dimension( ldu, * ) | U, | ||
| integer | LDU, | ||
| complex*16, dimension( ldv, * ) | V, | ||
| integer | LDV, | ||
| complex*16, dimension( * ) | WORK, | ||
| integer | LWORK, | ||
| double precision, dimension( * ) | RWORK, | ||
| double precision | RESULT, | ||
| integer | INFO | ||
| ) |
ZUNT03
ZUNT03 compares two unitary matrices U and V to see if their
corresponding rows or columns span the same spaces. The rows are
checked if RC = 'R', and the columns are checked if RC = 'C'.
RESULT is the maximum of
| V*V' - I | / ( MV ulp ), if RC = 'R', or
| V'*V - I | / ( MV ulp ), if RC = 'C',
and the maximum over rows (or columns) 1 to K of
| U(i) - S*V(i) |/ ( N ulp )
where abs(S) = 1 (chosen to minimize the expression), U(i) is the
i-th row (column) of U, and V(i) is the i-th row (column) of V. | [in] | RC | RC is CHARACTER*1
If RC = 'R' the rows of U and V are to be compared.
If RC = 'C' the columns of U and V are to be compared. |
| [in] | MU | MU is INTEGER
The number of rows of U if RC = 'R', and the number of
columns if RC = 'C'. If MU = 0 ZUNT03 does nothing.
MU must be at least zero. |
| [in] | MV | MV is INTEGER
The number of rows of V if RC = 'R', and the number of
columns if RC = 'C'. If MV = 0 ZUNT03 does nothing.
MV must be at least zero. |
| [in] | N | N is INTEGER
If RC = 'R', the number of columns in the matrices U and V,
and if RC = 'C', the number of rows in U and V. If N = 0
ZUNT03 does nothing. N must be at least zero. |
| [in] | K | K is INTEGER
The number of rows or columns of U and V to compare.
0 <= K <= max(MU,MV). |
| [in] | U | U is COMPLEX*16 array, dimension (LDU,N)
The first matrix to compare. If RC = 'R', U is MU by N, and
if RC = 'C', U is N by MU. |
| [in] | LDU | LDU is INTEGER
The leading dimension of U. If RC = 'R', LDU >= max(1,MU),
and if RC = 'C', LDU >= max(1,N). |
| [in] | V | V is COMPLEX*16 array, dimension (LDV,N)
The second matrix to compare. If RC = 'R', V is MV by N, and
if RC = 'C', V is N by MV. |
| [in] | LDV | LDV is INTEGER
The leading dimension of V. If RC = 'R', LDV >= max(1,MV),
and if RC = 'C', LDV >= max(1,N). |
| [out] | WORK | WORK is COMPLEX*16 array, dimension (LWORK) |
| [in] | LWORK | LWORK is INTEGER
The length of the array WORK. For best performance, LWORK
should be at least N*N if RC = 'C' or M*M if RC = 'R', but
the tests will be done even if LWORK is 0. |
| [out] | RWORK | RWORK is DOUBLE PRECISION array, dimension (max(MV,N)) |
| [out] | RESULT | RESULT is DOUBLE PRECISION
The value computed by the test described above. RESULT is
limited to 1/ulp to avoid overflow. |
| [out] | INFO | INFO is INTEGER
0 indicates a successful exit
-k indicates the k-th parameter had an illegal value |
Definition at line 164 of file zunt03.f.