TESTING/EIG/zunt01.f(3)

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

πŸ’… TESTING/EIG/zunt01.f(3) πŸ’…

okay bestie, welcome to the Library Functions Manual page for TESTING/EIG/zunt01.f(3) β€” it’s giving β€œorthogonality audit but make it LAPACK.” ✨

🌸 NAME 🌸

TESTING/EIG/zunt01.f


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

subroutine zunt01 (rowcol, m, n, u, ldu, work, lwork, rwork, resid)
    ZUNT01

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

🌟 subroutine zunt01 🌟

subroutine zunt01 (character rowcol, integer m, integer n, complex*16,
       dimension( ldu, * ) u, integer ldu, complex*16, dimension( * ) work,
       integer lwork, double precision, dimension( * ) rwork, double precision
       resid)

ZUNT01

πŸ’– Purpose πŸ’–

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

🧚 Parameters 🧚

  • 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
  • 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*16 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*16 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 DOUBLE PRECISION array, dimension (min(M,N)). Used only if LWORK is large enough to use the Level 3 BLAS code.
  • RESID β€” RESID is DOUBLE PRECISION.
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 zunt01.f.


✨ Author ✨

Generated automatically by Doxygen for LAPACK from the source code.


xoxo, final sign-off bestie: this page is LAPACK Version 3.12.0, source TESTING/EIG/zunt01.f(3). πŸ’…βœ¨

πŸ“¦ where this page comes from