.TH "SRC/zhbtrd.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME SRC/zhbtrd.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBzhbtrd\fP (vect, uplo, n, kd, ab, ldab, d, e, q, ldq, work, info)" .br .RI "\fBZHBTRD\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "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)" .PP \fBZHBTRD\fP .PP \fBPurpose:\fP .RS 4 .PP .nf !> !> ZHBTRD reduces a complex Hermitian band matrix A to real symmetric !> tridiagonal form T by a unitary similarity transformation: !> Q**H * A * Q = T\&. !> .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIVECT\fP .PP .nf !> VECT is CHARACTER*1 !> = 'N': do not form Q; !> = 'V': form Q; !> = 'U': update a matrix X, by forming X*Q\&. !> .fi .PP .br \fIUPLO\fP .PP .nf !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored\&. !> .fi .PP .br \fIN\fP .PP .nf !> N is INTEGER !> The order of the matrix A\&. N >= 0\&. !> .fi .PP .br \fIKD\fP .PP .nf !> KD is INTEGER !> The number of superdiagonals of the matrix A if UPLO = 'U', !> or the number of subdiagonals if UPLO = 'L'\&. KD >= 0\&. !> .fi .PP .br \fIAB\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDAB\fP .PP .nf !> LDAB is INTEGER !> The leading dimension of the array AB\&. LDAB >= KD+1\&. !> .fi .PP .br \fID\fP .PP .nf !> D is DOUBLE PRECISION array, dimension (N) !> The diagonal elements of the tridiagonal matrix T\&. !> .fi .PP .br \fIE\fP .PP .nf !> 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'\&. !> .fi .PP .br \fIQ\fP .PP .nf !> 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\&. !> .fi .PP .br \fILDQ\fP .PP .nf !> LDQ is INTEGER !> The leading dimension of the array Q\&. !> LDQ >= 1, and LDQ >= N if VECT = 'V' or 'U'\&. !> .fi .PP .br \fIWORK\fP .PP .nf !> WORK is COMPLEX*16 array, dimension (N) !> .fi .PP .br \fIINFO\fP .PP .nf !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBFurther Details:\fP .RS 4 .PP .nf !> !> Modified by Linda Kaufman, Bell Labs\&. !> .fi .PP .RE .PP .PP Definition at line \fB161\fP of file \fBzhbtrd\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.