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.