TESTING/EIG/cunt01.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

okay so bestie, welcome to the Library Functions Manual page for TESTING/EIG/cunt01.f(3) β€” manual name folded in near the top like a little name tag 🫢 This whole page is about CUNT01, and yes it checks unitarity, and yes we're gonna keep every flag, formula, and footnote. No skipping, no cap. πŸ’…

🌸 NAME 🌸

TESTING/EIG/cunt01.f β€” that's the name, that's the whole name, and it ate. πŸŽ€

πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

       subroutine cunt01 (rowcol, m, n, u, ldu, work, lwork, rwork, resid)
           CUNT01

πŸ’… Function/Subroutine Documentation πŸ’…

   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

πŸ”₯ Purpose πŸ”₯

okay so 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'. That's the whole rule, bestie. πŸ’›

πŸŽ€ Parameters πŸŽ€

ROWCOL

ROWCOL is CHARACTER. It 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

M

M is INTEGER. The number of rows of the matrix U.

N

N is INTEGER. The number of columns of the matrix U.

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'.

LDU

LDU is INTEGER. The leading dimension of the array U. LDU >= max(1,M).

WORK

WORK is COMPLEX array, dimension (LWORK).

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.

RWORK

RWORK is REAL array, dimension (min(M,N)). Used only if LWORK is large enough to use the Level 3 BLAS code.

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'.

πŸ’œ Author πŸ’œ

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 124 of file cunt01.f β€” noted, bestie. ✨

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–πŸ’–


πŸ’– cute sign-off: footer says LAPACK, Version 3.12.0, page TESTING/EIG/cunt01.f(3) β€” and there's no extra date on this footer, so I'm not inventing one πŸ˜­πŸ’… Mwah! πŸ’–

πŸ“¦ where this page comes from