![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine cunt01 | ( | character | ROWCOL, |
| integer | M, | ||
| integer | N, | ||
| complex, dimension( ldu, * ) | U, | ||
| integer | LDU, | ||
| complex, dimension( * ) | WORK, | ||
| integer | LWORK, | ||
| real, dimension( * ) | RWORK, | ||
| real | RESID | ||
| ) |
CUNT01
CUNT01 checks that the matrix U is unitary by computing the ratio
RESID = norm( I - U*U' ) / ( n * EPS ), if ROWCOL = 'R',
or
RESID = norm( I - U'*U ) / ( m * EPS ), if ROWCOL = 'C'.
Alternatively, if there isn't sufficient workspace to form
I - U*U' or I - U'*U, the ratio is computed as
RESID = abs( I - U*U' ) / ( n * EPS ), if ROWCOL = 'R',
or
RESID = abs( I - U'*U ) / ( m * EPS ), if ROWCOL = 'C'.
where EPS is the machine precision. ROWCOL is used only if m = n;
if m > n, ROWCOL is assumed to be 'C', and if m < n, ROWCOL is
assumed to be 'R'. | [in] | ROWCOL | ROWCOL is CHARACTER
Specifies whether the rows or columns of U should be checked
for orthogonality. Used only if M = N.
= 'R': Check for orthogonal rows of U
= 'C': Check for orthogonal columns of U |
| [in] | M | M is INTEGER
The number of rows of the matrix U. |
| [in] | N | N is INTEGER
The number of columns of the matrix U. |
| [in] | U | U is COMPLEX array, dimension (LDU,N)
The unitary matrix U. U is checked for orthogonal columns
if m > n or if m = n and ROWCOL = 'C'. U is checked for
orthogonal rows if m < n or if m = n and ROWCOL = 'R'. |
| [in] | LDU | LDU is INTEGER
The leading dimension of the array U. LDU >= max(1,M). |
| [out] | WORK | WORK is COMPLEX 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 ROWCOL = 'C' or M*M if
ROWCOL = 'R', but the test will be done even if LWORK is 0. |
| [out] | RWORK | RWORK is REAL array, dimension (min(M,N))
Used only if LWORK is large enough to use the Level 3 BLAS
code. |
| [out] | RESID | RESID is REAL
RESID = norm( I - U * U' ) / ( n * EPS ), if ROWCOL = 'R', or
RESID = norm( I - U' * U ) / ( m * EPS ), if ROWCOL = 'C'. |
Definition at line 128 of file cunt01.f.