# hbgst - Man Page

{hb,sb}gst: reduction to standard form, banded

## Synopsis

### Functions

subroutine chbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info)
CHBGST
subroutine dsbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info)
DSBGST
subroutine ssbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, info)
SSBGST
subroutine zhbgst (vect, uplo, n, ka, kb, ab, ldab, bb, ldbb, x, ldx, work, rwork, info)
ZHBGST

## Function Documentation

### subroutine chbgst (character vect, character uplo, integer n, integer ka, integer kb, complex, dimension( ldab, * ) ab, integer ldab, complex, dimension( ldbb, * ) bb, integer ldbb, complex, dimension( ldx, * ) x, integer ldx, complex, dimension( * ) work, real, dimension( * ) rwork, integer info)

CHBGST

Purpose:

CHBGST reduces a complex Hermitian-definite banded generalized
eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y,
such that C has the same bandwidth as A.

B must have been previously factorized as S**H*S by CPBSTF, using a
split Cholesky factorization. A is overwritten by C = X**H*A*X, where
X = S**(-1)*Q and Q is a unitary matrix chosen to preserve the
bandwidth of A.
Parameters

VECT

VECT is CHARACTER*1
= 'N':  do not form the transformation matrix X;
= 'V':  form X.

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 matrices A and B.  N >= 0.

KA

KA is INTEGER
The number of superdiagonals of the matrix A if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= 0.

KB

KB is INTEGER
The number of superdiagonals of the matrix B if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 0.

AB

AB is COMPLEX array, dimension (LDAB,N)
On entry, the upper or lower triangle of the Hermitian band
matrix A, stored in the first ka+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(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+ka).

On exit, the transformed matrix X**H*A*X, stored in the same
format as A.

LDAB

LDAB is INTEGER
The leading dimension of the array AB.  LDAB >= KA+1.

BB

BB is COMPLEX array, dimension (LDBB,N)
The banded factor S from the split Cholesky factorization of
B, as returned by CPBSTF, stored in the first kb+1 rows of
the array.

LDBB

LDBB is INTEGER
The leading dimension of the array BB.  LDBB >= KB+1.

X

X is COMPLEX array, dimension (LDX,N)
If VECT = 'V', the n-by-n matrix X.
If VECT = 'N', the array X is not referenced.

LDX

LDX is INTEGER
The leading dimension of the array X.
LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.

WORK

WORK is COMPLEX array, dimension (N)

RWORK

RWORK is REAL 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.

Definition at line 163 of file chbgst.f.

### subroutine dsbgst (character vect, character uplo, integer n, integer ka, integer kb, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( ldbb, * ) bb, integer ldbb, double precision, dimension( ldx, * ) x, integer ldx, double precision, dimension( * ) work, integer info)

DSBGST

Purpose:

DSBGST reduces a real symmetric-definite banded generalized
eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y,
such that C has the same bandwidth as A.

B must have been previously factorized as S**T*S by DPBSTF, using a
split Cholesky factorization. A is overwritten by C = X**T*A*X, where
X = S**(-1)*Q and Q is an orthogonal matrix chosen to preserve the
bandwidth of A.
Parameters

VECT

VECT is CHARACTER*1
= 'N':  do not form the transformation matrix X;
= 'V':  form X.

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 matrices A and B.  N >= 0.

KA

KA is INTEGER
The number of superdiagonals of the matrix A if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= 0.

KB

KB is INTEGER
The number of superdiagonals of the matrix B if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 0.

AB

AB is DOUBLE PRECISION array, dimension (LDAB,N)
On entry, the upper or lower triangle of the symmetric band
matrix A, stored in the first ka+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(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+ka).

On exit, the transformed matrix X**T*A*X, stored in the same
format as A.

LDAB

LDAB is INTEGER
The leading dimension of the array AB.  LDAB >= KA+1.

BB

BB is DOUBLE PRECISION array, dimension (LDBB,N)
The banded factor S from the split Cholesky factorization of
B, as returned by DPBSTF, stored in the first KB+1 rows of
the array.

LDBB

LDBB is INTEGER
The leading dimension of the array BB.  LDBB >= KB+1.

X

X is DOUBLE PRECISION array, dimension (LDX,N)
If VECT = 'V', the n-by-n matrix X.
If VECT = 'N', the array X is not referenced.

LDX

LDX is INTEGER
The leading dimension of the array X.
LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.

WORK

WORK is DOUBLE PRECISION array, dimension (2*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.

Definition at line 157 of file dsbgst.f.

### subroutine ssbgst (character vect, character uplo, integer n, integer ka, integer kb, real, dimension( ldab, * ) ab, integer ldab, real, dimension( ldbb, * ) bb, integer ldbb, real, dimension( ldx, * ) x, integer ldx, real, dimension( * ) work, integer info)

SSBGST

Purpose:

SSBGST reduces a real symmetric-definite banded generalized
eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y,
such that C has the same bandwidth as A.

B must have been previously factorized as S**T*S by SPBSTF, using a
split Cholesky factorization. A is overwritten by C = X**T*A*X, where
X = S**(-1)*Q and Q is an orthogonal matrix chosen to preserve the
bandwidth of A.
Parameters

VECT

VECT is CHARACTER*1
= 'N':  do not form the transformation matrix X;
= 'V':  form X.

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 matrices A and B.  N >= 0.

KA

KA is INTEGER
The number of superdiagonals of the matrix A if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= 0.

KB

KB is INTEGER
The number of superdiagonals of the matrix B if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 0.

AB

AB is REAL array, dimension (LDAB,N)
On entry, the upper or lower triangle of the symmetric band
matrix A, stored in the first ka+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(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+ka).

On exit, the transformed matrix X**T*A*X, stored in the same
format as A.

LDAB

LDAB is INTEGER
The leading dimension of the array AB.  LDAB >= KA+1.

BB

BB is REAL array, dimension (LDBB,N)
The banded factor S from the split Cholesky factorization of
B, as returned by SPBSTF, stored in the first KB+1 rows of
the array.

LDBB

LDBB is INTEGER
The leading dimension of the array BB.  LDBB >= KB+1.

X

X is REAL array, dimension (LDX,N)
If VECT = 'V', the n-by-n matrix X.
If VECT = 'N', the array X is not referenced.

LDX

LDX is INTEGER
The leading dimension of the array X.
LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.

WORK

WORK is REAL array, dimension (2*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.

Definition at line 157 of file ssbgst.f.

### subroutine zhbgst (character vect, character uplo, integer n, integer ka, integer kb, complex*16, dimension( ldab, * ) ab, integer ldab, complex*16, dimension( ldbb, * ) bb, integer ldbb, complex*16, dimension( ldx, * ) x, integer ldx, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer info)

ZHBGST

Purpose:

ZHBGST reduces a complex Hermitian-definite banded generalized
eigenproblem  A*x = lambda*B*x  to standard form  C*y = lambda*y,
such that C has the same bandwidth as A.

B must have been previously factorized as S**H*S by ZPBSTF, using a
split Cholesky factorization. A is overwritten by C = X**H*A*X, where
X = S**(-1)*Q and Q is a unitary matrix chosen to preserve the
bandwidth of A.
Parameters

VECT

VECT is CHARACTER*1
= 'N':  do not form the transformation matrix X;
= 'V':  form X.

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 matrices A and B.  N >= 0.

KA

KA is INTEGER
The number of superdiagonals of the matrix A if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= 0.

KB

KB is INTEGER
The number of superdiagonals of the matrix B if UPLO = 'U',
or the number of subdiagonals if UPLO = 'L'.  KA >= KB >= 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 ka+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(ka+1+i-j,j) = A(i,j) for max(1,j-ka)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+ka).

On exit, the transformed matrix X**H*A*X, stored in the same
format as A.

LDAB

LDAB is INTEGER
The leading dimension of the array AB.  LDAB >= KA+1.

BB

BB is COMPLEX*16 array, dimension (LDBB,N)
The banded factor S from the split Cholesky factorization of
B, as returned by ZPBSTF, stored in the first kb+1 rows of
the array.

LDBB

LDBB is INTEGER
The leading dimension of the array BB.  LDBB >= KB+1.

X

X is COMPLEX*16 array, dimension (LDX,N)
If VECT = 'V', the n-by-n matrix X.
If VECT = 'N', the array X is not referenced.

LDX

LDX is INTEGER
The leading dimension of the array X.
LDX >= max(1,N) if VECT = 'V'; LDX >= 1 otherwise.

WORK

WORK is COMPLEX*16 array, dimension (N)

RWORK

RWORK is DOUBLE PRECISION 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.

Definition at line 163 of file zhbgst.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK