/home/abui...RC/zhbev.f(3)

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

πŸ’… NAME

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhbev.f β€” bestie, that's the file. That's the whole name. It's a long one, I know, but we move πŸ’–


✨ SYNOPSIS ✨

Functions/Subroutines πŸŽ€

  • subroutine ZHBEV (jobz, uplo, n, kd, ab, ldab, w, z, ldz, work, rwork, info) β€” okay so this is the moment: ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices</p> ✨

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

subroutine ZHBEV (character jobz, character uplo, integer n, integer kd, complex*16, dimension( ldab, * ) ab, integer ldab, double precision, dimension( * ) w, complex*16, dimension( ldz, * ) z, integer ldz, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer info)

ZHBEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices πŸ‘‘


🌸 Purpose 🌸

!>
!> ZHBEV computes all the eigenvalues and, optionally, eigenvectors of
!> a complex Hermitian band matrix A.
!>

Lowkey that's it, that's the whole vibe: all the eigenvalues, and if you ask nicely, the eigenvectors too, off a complex Hermitian band matrix A. Iconic πŸ’…


πŸ’œ Parameters πŸ’œ

  • JOBZ β€” JOBZ is CHARACTER*1, and it's giving "what do you actually want from me":
!>          JOBZ is CHARACTER*1
!>          = 'N':  Compute eigenvalues only;
!>          = 'V':  Compute eigenvalues and eigenvectors.
!>
  • UPLO β€” UPLO is CHARACTER*1, picking which triangle of A we're storing, no cap:
!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
  • N β€” N is INTEGER, the order of the matrix A. N >= 0. Main character number fr fr 🫢
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>
  • KD β€” KD is INTEGER: the number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0. ✨
!>          KD is INTEGER
!>          The number of superdiagonals of the matrix A if UPLO = 'U',
!>          or the number of subdiagonals if UPLO = 'L'.  KD >= 0.
!>
  • AB β€” AB is COMPLEX*16 array, dimension (LDAB, N). Bestie, this one's a whole saga, so buckle up:

On entry, it's the upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows of the array. The j-th column of A lives in the j-th column of the array AB like this:

!>          AB is COMPLEX*16 array, dimension (LDAB, N)
!>          On entry, the upper or lower triangle of the Hermitian band
!>          matrix A, stored in the first KD+1 rows of the array.  The
!>          j-th column of A is stored in the j-th column of the array AB
!>          as follows:
!>          if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
!>          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).
!>

On exit, AB gets overwritten by values generated during the reduction to tridiagonal form 😭 so don't come looking for your original matrix in there. If UPLO = 'U', the first superdiagonal and the diagonal of the tridiagonal matrix T are returned in rows KD and KD+1 of AB; and if UPLO = 'L', the diagonal and first subdiagonal of T are returned in the first two rows of AB:

!>          On exit, AB is overwritten by values generated during the
!>          reduction to tridiagonal form.  If UPLO = 'U', the first
!>          superdiagonal and the diagonal of the tridiagonal matrix T
!>          are returned in rows KD and KD+1 of AB, and if UPLO = 'L',
!>          the diagonal and first subdiagonal of T are returned in the
!>          first two rows of AB.
!>
  • LDAB β€” LDAB is INTEGER, the leading dimension of the array AB. LDAB >= KD + 1. Periodt.
!>          LDAB is INTEGER
!>          The leading dimension of the array AB.  LDAB >= KD + 1.
!>
  • W β€” W is DOUBLE PRECISION array, dimension (N). If INFO = 0, the eigenvalues in ascending order 🌈 (sorted, bestie, we love an organized queen).
!>          W is DOUBLE PRECISION array, dimension (N)
!>          If INFO = 0, the eigenvalues in ascending order.
!>
  • Z β€” Z is COMPLEX*16 array, dimension (LDZ, N). If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal eigenvectors of the matrix A, with the i-th column of Z holding the eigenvector associated with W(i) πŸ‘‘ If JOBZ = 'N', then Z is not referenced β€” she's simply not invited to the function πŸ’€
!>          Z is COMPLEX*16 array, dimension (LDZ, N)
!>          If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal
!>          eigenvectors of the matrix A, with the i-th column of Z
!>          holding the eigenvector associated with W(i).
!>          If JOBZ = 'N', then Z is not referenced.
!>
  • LDZ β€” LDZ is INTEGER, the leading dimension of the array Z. LDZ >= 1, and if JOBZ = 'V', LDZ >= max(1,N). Read it and weep πŸŽ€
!>          LDZ is INTEGER
!>          The leading dimension of the array Z.  LDZ >= 1, and if
!>          JOBZ = 'V', LDZ >= max(1,N).
!>
  • WORK β€” WORK is COMPLEX*16 array, dimension (N). That's the whole line. She's mysterious. She's a scratch array. Respect her privacy πŸ’…
!>          WORK is COMPLEX*16 array, dimension (N)
!>
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (max(1,3*N-2)). Note the 3*N-2, bestie, write it down ✍️
!>          RWORK is DOUBLE PRECISION array, dimension (max(1,3*N-2))
!>
  • INFO β€” INFO is INTEGER, the vibe check at the end:
!>          INFO is INTEGER
!>          = 0:  successful exit.
!>          < 0:  if INFO = -i, the i-th argument had an illegal value.
!>          > 0:  if INFO = i, the algorithm failed to converge; i
!>                off-diagonal elements of an intermediate tridiagonal
!>                form did not converge to zero.
!>

So 0 is slay βœ…, < 0 means argument number i was illegal (blame your own inputs, not her 😭), and > 0 means the algorithm failed to converge β€” specifically, i off-diagonal elements of an intermediate tridiagonal form did not converge to zero. Not a cute look, but now you know πŸ’€


🧚 Author 🧚

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

⭐ Definition ⭐

Definition at line 150 of file zhbev.f.


πŸ“ Author (the meta one) πŸ“

Generated automatically by Doxygen for LAPACK from the source code πŸ™ˆ (yes, a robot wrote the docs, she's doing her best).


Sign-off bestie πŸ’– β€” this was LAPACK, Version 3.12.0, and it's the page for /home/abui...RC/zhbev.f(3). Go get those eigenvalues, queen πŸ‘‘βœ¨πŸ¦‹
πŸ“¦ where this page comes from