Scroll to navigation

hbgst(3) LAPACK hbgst(3)

NAME

hbgst - {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

Detailed Description

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.

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.

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.

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.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Wed Feb 7 2024 11:30:40 Version 3.12.0