# zhbtrd.f(3) [centos man page]

```zhbtrd.f(3)							      LAPACK							       zhbtrd.f(3)

NAME
zhbtrd.f -

SYNOPSIS
Functions/Subroutines
subroutine zhbtrd (VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
ZHBTRD

Function/Subroutine Documentation
subroutine zhbtrd (characterVECT, characterUPLO, integerN, integerKD, complex*16, dimension( ldab, * )AB, integerLDAB, double precision,
dimension( * )D, double precision, dimension( * )E, complex*16, dimension( ldq, * )Q, integerLDQ, complex*16, dimension( * )WORK,
integerINFO)
ZHBTRD

Purpose:

ZHBTRD reduces a complex Hermitian band matrix A to real symmetric
tridiagonal form T by a unitary similarity transformation:
Q**H * A * Q = T.

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

NAG Ltd.

Date:
November 2011

Further Details:

Modified by Linda Kaufman, Bell Labs.

Definition at line 163 of file zhbtrd.f.

Author
Generated automatically by Doxygen for LAPACK from the source code.

Version 3.4.2							  Tue Sep 25 2012						       zhbtrd.f(3)```

## Check Out this Related Man Page

```ZHBTRD(l)								 )								 ZHBTRD(l)

NAME
ZHBTRD - reduce a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transformation

SYNOPSIS
SUBROUTINE ZHBTRD( VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO )

CHARACTER	  UPLO, VECT

INTEGER	  INFO, KD, LDAB, LDQ, N

DOUBLE	  PRECISION D( * ), E( * )

COMPLEX*16	  AB( LDAB, * ), Q( LDQ, * ), WORK( * )

PURPOSE
ZHBTRD  reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q
= T.

ARGUMENTS
VECT    (input) CHARACTER*1
= 'N':  do not form Q;
= 'V':  form Q;
= 'U':  update a matrix X, by forming X*Q.

UPLO    (input) CHARACTER*1
= 'U':  Upper triangle of A is stored;
= 'L':  Lower triangle of A is stored.

N       (input) INTEGER
The order of the matrix A.  N >= 0.

KD      (input) INTEGER
The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'.  KD >= 0.

AB      (input/output) 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  ele-
ments  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  reduc-
tion.

LDAB    (input) INTEGER
The leading dimension of the array AB.  LDAB >= KD+1.

D       (output) DOUBLE PRECISION array, dimension (N)
The diagonal elements of the tridiagonal matrix T.

E       (output) 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       (input/output) 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     (input) INTEGER
The leading dimension of the array Q.  LDQ >= 1, and LDQ >= N if VECT = 'V' or 'U'.

WORK    (workspace) COMPLEX*16 array, dimension (N)

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value

FURTHER DETAILS
Modified by Linda Kaufman, Bell Labs.

LAPACK version 3.0						   15 June 2000 							 ZHBTRD(l)```
Man Page