ZHBTRD(3)

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

okay so bestie, this is zhbtrd.f(3) from the Library Functions Manual, and it's lowkey serving main character energy. We're talking about the LAPACK routine ZHBTRD, and I promise every single technical detail is staying right here. no cap. πŸ’…

πŸŽ€ NAME πŸŽ€

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zhbtrd.f

That's the path, fr fr. Don't lose it. 🫢


🌈 SYNOPSIS 🌈

Functions/Subroutines

subroutine ZHBTRD (vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work,
    info)
    ZHBTRD

✨ Function/Subroutine Documentation ✨

subroutine ZHBTRD (character vect, character uplo, integer n, integer kd,
    complex*16, dimension( ldab, * ) ab, integer ldab, double precision,
    dimension( * ) d, double precision, dimension( * ) e, complex*16,
    dimension( ldq, * ) q, integer ldq, complex*16, dimension( * ) work,
    integer info)
    ZHBTRD

πŸ¦‹ Purpose πŸ¦‹

okay so the purpose is literally this: ZHBTRD reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transformation:

Q**H * A * Q = T.

periodt. that's the whole vibe. πŸ’–


🌸 Parameters 🌸

VECT

VECT is CHARACTER*1

  • = 'N': do not form Q;
  • = 'V': form Q;
  • = 'U': update a matrix X, by forming X*Q.

UPLO

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.

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.

AB

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, the diagonal elements of AB are overwritten by the diagonal elements of the tridiagonal matrix T; if KD > 0, the elements on the first superdiagonal (if UPLO = 'U') or the first subdiagonal (if UPLO = 'L') are overwritten by the off-diagonal elements of T; the rest of AB is overwritten by values generated during the reduction.

LDAB

LDAB is INTEGER

The leading dimension of the array AB. LDAB >= KD+1.

D

D is DOUBLE PRECISION array, dimension (N)

The diagonal elements of the tridiagonal matrix T.

E

E is DOUBLE PRECISION array, dimension (N-1)

The off-diagonal elements of the tridiagonal matrix T:

E(i) = T(i,i+1) if UPLO = 'U'; E(i) = T(i+1,i) if UPLO = 'L'.

Q

Q is COMPLEX*16 array, dimension (LDQ,N)

On entry, if VECT = 'U', then Q must contain an N-by-N matrix X; if VECT = 'N' or 'V', then Q need not be set.

On exit:

  • if VECT = 'V', Q contains the N-by-N unitary matrix Q;
  • if VECT = 'U', Q contains the product X*Q;
  • if VECT = 'N', the array Q is not referenced.

LDQ

LDQ is INTEGER

The leading dimension of the array Q. LDQ >= 1, and LDQ >= N if VECT = 'V' or 'U'.

WORK

WORK is COMPLEX*16 array, dimension (N)

INFO

INFO is INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value

πŸ‘‘ Author πŸ‘‘

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

πŸ”₯ Further Details πŸ”₯

Modified by Linda Kaufman, Bell Labs.

Definition at line 161 of file zhbtrd.f.


πŸ“œ Author πŸ“œ

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie 🫢 this is from LAPACK Version 3.12.0, and the footer path is /home/abui...RC/zhbtrd.f(3). mwah πŸ’–βœ¨

πŸ“¦ where this page comes from