table of contents
hbgst(3) | Library Functions Manual | 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 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 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 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 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 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 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 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 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.
Version 3.12.0 | LAPACK |