ZSTT21(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

okay so this is the zstt21.f(3) page from the Library Functions Manual, bestie, and the file it covers is:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zstt21.f

That path is long enough to need its own group chat, but we move. πŸ’…


✨ SYNOPSIS ✨

🌸 Functions/Subroutines 🌸

       subroutine ZSTT21 (n, kband, ad, ae, sd, se, u, ldu, work, rwork,
           result)
           ZSTT21

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

The whole signature, no cap:

   subroutine ZSTT21 (integer n, integer kband, double precision, dimension( *
       ) ad, double precision, dimension( * ) ae, double precision, dimension(
       * ) sd, double precision, dimension( * ) se, complex*16, dimension( ldu,
       * ) u, integer ldu, complex*16, dimension( * ) work, double precision,
       dimension( * ) rwork, double precision, dimension( 2 ) result)

ZSTT21 is literally the name. Main character subroutine energy. πŸ‘‘

πŸŽ€ Purpose πŸŽ€

So what is ZSTT21 doing? It checks a decomposition of the form

A = U S U**H

where **H means conjugate transpose, A is real symmetric tridiagonal, U is unitary, and S is real and diagonal (if KBAND=0) or symmetric tridiagonal (if KBAND=1). Two tests are performed:

RESULT(1) = | A - U S U**H | / ( |A| n ulp )

RESULT(2) = | I - U U**H | / ( n ulp )

Two tests, both serving looks. πŸ’…

πŸ“ Parameters πŸ“

  • N β€” N is INTEGER. The size of the matrix. If it is zero, ZSTT21 does nothing. It must be at least zero.
  • KBAND β€” KBAND is INTEGER. The bandwidth of the matrix S. It may only be zero or one. If zero, then S is diagonal, and SE is not referenced. If one, then S is symmetric tri-diagonal.
  • AD β€” AD is DOUBLE PRECISION array, dimension (N). The diagonal of the original (unfactored) matrix A. A is assumed to be real symmetric tridiagonal.
  • AE β€” AE is DOUBLE PRECISION array, dimension (N-1). The off-diagonal of the original (unfactored) matrix A. A is assumed to be symmetric tridiagonal. AE(1) is the (1,2) and (2,1) element, AE(2) is the (2,3) and (3,2) element, etc.
  • SD β€” SD is DOUBLE PRECISION array, dimension (N). The diagonal of the real (symmetric tri-) diagonal matrix S.
  • SE β€” SE is DOUBLE PRECISION array, dimension (N-1). The off-diagonal of the (symmetric tri-) diagonal matrix S. Not referenced if KBSND=0. If KBAND=1, then AE(1) is the (1,2) and (2,1) element, SE(2) is the (2,3) and (3,2) element, etc.
  • U β€” U is COMPLEX*16 array, dimension (LDU, N). The unitary matrix in the decomposition.
  • LDU β€” LDU is INTEGER. The leading dimension of U. LDU must be at least N.
  • WORK β€” WORK is COMPLEX*16 array, dimension (N**2).
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N).
  • RESULT β€” RESULT is DOUBLE PRECISION array, dimension (2). The values computed by the two tests described above. The values are currently limited to 1/ulp, to avoid overflow. RESULT(1) is always modified.

πŸ‘‘ Author πŸ‘‘

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

Definition at line 131 of file zstt21.f.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


mwah πŸ’– that's the whole page! Source/version sign-off: LAPACK Version 3.12.0, and the page source is /home/abui...IG/zstt21.f(3). No date on this one, just pure manual-page vibes. Bye bestie! 🫢✨

πŸ“¦ where this page comes from