gbbrd(3)

NAME
gbbrd - gbbrd: band to bidiagonal

SYNOPSIS

  Functions

subroutine cgbbrd (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info)
CGBBRD
subroutine dgbbrd (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info)
DGBBRD
subroutine sgbbrd (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, info)
SGBBRD
subroutine zgbbrd (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt, ldpt, c, ldc, work, rwork, info)
ZGBBRD

Detailed Description

Function Documentation

  subroutine cgbbrd (character vect, integer m, integer n, integer ncc, integer kl, integer ku, complex, dimension( ldab, * ) ab, integer ldab, real, dimension( * ) d, real, dimension( * ) e, complex, dimension( ldq, * ) q, integer ldq, complex, dimension( ldpt, * ) pt, integer ldpt, complex, dimension( ldc, * ) c, integer ldc, complex, dimension( * ) work, real, dimension( * ) rwork, integer info)

CGBBRD

Purpose:

    !>
    !> CGBBRD reduces a complex general m-by-n band matrix A to real upper
    !> bidiagonal form B by a unitary transformation: Q**H * A * P = B.
    !>
    !> The routine computes B, and optionally forms Q or P**H, or computes
    !> Q**H*C for a given matrix C.
    !>

Parameters
    VECT

    !>          VECT is CHARACTER*1
    !>          Specifies whether or not the matrices Q and P**H are to be
    !>          formed.
    !>          = 'N': do not form Q or P**H;
    !>          = 'Q': form Q only;
    !>          = 'P': form P**H only;
    !>          = 'B': form both.
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    NCC

    !>          NCC is INTEGER
    !>          The number of columns of the matrix C.  NCC >= 0.
    !>

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals of the matrix A. KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals of the matrix A. KU >= 0.
    !>

    AB

    !>          AB is COMPLEX array, dimension (LDAB,N)
    !>          On entry, the m-by-n band matrix A, stored in rows 1 to
    !>          KL+KU+1. The j-th column of A is stored in the j-th column of
    !>          the array AB as follows:
    !>          AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
    !>          On exit, A is overwritten by values generated during the
    !>          reduction.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array A. LDAB >= KL+KU+1.
    !>

    D

    !>          D is REAL array, dimension (min(M,N))
    !>          The diagonal elements of the bidiagonal matrix B.
    !>

    E

    !>          E is REAL array, dimension (min(M,N)-1)
    !>          The superdiagonal elements of the bidiagonal matrix B.
    !>

    Q

    !>          Q is COMPLEX array, dimension (LDQ,M)
    !>          If VECT = 'Q' or 'B', the m-by-m unitary matrix Q.
    !>          If VECT = 'N' or 'P', the array Q is not referenced.
    !>

    LDQ

    !>          LDQ is INTEGER
    !>          The leading dimension of the array Q.
    !>          LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
    !>

    PT

    !>          PT is COMPLEX array, dimension (LDPT,N)
    !>          If VECT = 'P' or 'B', the n-by-n unitary matrix P'.
    !>          If VECT = 'N' or 'Q', the array PT is not referenced.
    !>

    LDPT

    !>          LDPT is INTEGER
    !>          The leading dimension of the array PT.
    !>          LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
    !>

    C

    !>          C is COMPLEX array, dimension (LDC,NCC)
    !>          On entry, an m-by-ncc matrix C.
    !>          On exit, C is overwritten by Q**H*C.
    !>          C is not referenced if NCC = 0.
    !>

    LDC

    !>          LDC is INTEGER
    !>          The leading dimension of the array C.
    !>          LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
    !>

    WORK

    !>          WORK is COMPLEX array, dimension (max(M,N))
    !>

    RWORK

    !>          RWORK is REAL array, dimension (max(M,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 dgbbrd (character vect, integer m, integer n, integer ncc, integer kl, integer ku, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldq, * ) q, integer ldq, double precision, dimension( ldpt, * ) pt, integer ldpt, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) work, integer info)

DGBBRD

Purpose:

    !>
    !> DGBBRD reduces a real general m-by-n band matrix A to upper
    !> bidiagonal form B by an orthogonal transformation: Q**T * A * P = B.
    !>
    !> The routine computes B, and optionally forms Q or P**T, or computes
    !> Q**T*C for a given matrix C.
    !>

Parameters
    VECT

    !>          VECT is CHARACTER*1
    !>          Specifies whether or not the matrices Q and P**T are to be
    !>          formed.
    !>          = 'N': do not form Q or P**T;
    !>          = 'Q': form Q only;
    !>          = 'P': form P**T only;
    !>          = 'B': form both.
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    NCC

    !>          NCC is INTEGER
    !>          The number of columns of the matrix C.  NCC >= 0.
    !>

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals of the matrix A. KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals of the matrix A. KU >= 0.
    !>

    AB

    !>          AB is DOUBLE PRECISION array, dimension (LDAB,N)
    !>          On entry, the m-by-n band matrix A, stored in rows 1 to
    !>          KL+KU+1. The j-th column of A is stored in the j-th column of
    !>          the array AB as follows:
    !>          AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
    !>          On exit, A is overwritten by values generated during the
    !>          reduction.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array A. LDAB >= KL+KU+1.
    !>

    D

    !>          D is DOUBLE PRECISION array, dimension (min(M,N))
    !>          The diagonal elements of the bidiagonal matrix B.
    !>

    E

    !>          E is DOUBLE PRECISION array, dimension (min(M,N)-1)
    !>          The superdiagonal elements of the bidiagonal matrix B.
    !>

    Q

    !>          Q is DOUBLE PRECISION array, dimension (LDQ,M)
    !>          If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.
    !>          If VECT = 'N' or 'P', the array Q is not referenced.
    !>

    LDQ

    !>          LDQ is INTEGER
    !>          The leading dimension of the array Q.
    !>          LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
    !>

    PT

    !>          PT is DOUBLE PRECISION array, dimension (LDPT,N)
    !>          If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.
    !>          If VECT = 'N' or 'Q', the array PT is not referenced.
    !>

    LDPT

    !>          LDPT is INTEGER
    !>          The leading dimension of the array PT.
    !>          LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
    !>

    C

    !>          C is DOUBLE PRECISION array, dimension (LDC,NCC)
    !>          On entry, an m-by-ncc matrix C.
    !>          On exit, C is overwritten by Q**T*C.
    !>          C is not referenced if NCC = 0.
    !>

    LDC

    !>          LDC is INTEGER
    !>          The leading dimension of the array C.
    !>          LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
    !>

    WORK

    !>          WORK is DOUBLE PRECISION array, dimension (2*max(M,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 sgbbrd (character vect, integer m, integer n, integer ncc, integer kl, integer ku, real, dimension( ldab, * ) ab, integer ldab, real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldq, * ) q, integer ldq, real, dimension( ldpt, * ) pt, integer ldpt, real, dimension( ldc, * ) c, integer ldc, real, dimension( * ) work, integer info)

SGBBRD

Purpose:

    !>
    !> SGBBRD reduces a real general m-by-n band matrix A to upper
    !> bidiagonal form B by an orthogonal transformation: Q**T * A * P = B.
    !>
    !> The routine computes B, and optionally forms Q or P**T, or computes
    !> Q**T*C for a given matrix C.
    !>

Parameters
    VECT

    !>          VECT is CHARACTER*1
    !>          Specifies whether or not the matrices Q and P**T are to be
    !>          formed.
    !>          = 'N': do not form Q or P**T;
    !>          = 'Q': form Q only;
    !>          = 'P': form P**T only;
    !>          = 'B': form both.
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    NCC

    !>          NCC is INTEGER
    !>          The number of columns of the matrix C.  NCC >= 0.
    !>

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals of the matrix A. KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals of the matrix A. KU >= 0.
    !>

    AB

    !>          AB is REAL array, dimension (LDAB,N)
    !>          On entry, the m-by-n band matrix A, stored in rows 1 to
    !>          KL+KU+1. The j-th column of A is stored in the j-th column of
    !>          the array AB as follows:
    !>          AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
    !>          On exit, A is overwritten by values generated during the
    !>          reduction.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array A. LDAB >= KL+KU+1.
    !>

    D

    !>          D is REAL array, dimension (min(M,N))
    !>          The diagonal elements of the bidiagonal matrix B.
    !>

    E

    !>          E is REAL array, dimension (min(M,N)-1)
    !>          The superdiagonal elements of the bidiagonal matrix B.
    !>

    Q

    !>          Q is REAL array, dimension (LDQ,M)
    !>          If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.
    !>          If VECT = 'N' or 'P', the array Q is not referenced.
    !>

    LDQ

    !>          LDQ is INTEGER
    !>          The leading dimension of the array Q.
    !>          LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
    !>

    PT

    !>          PT is REAL array, dimension (LDPT,N)
    !>          If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.
    !>          If VECT = 'N' or 'Q', the array PT is not referenced.
    !>

    LDPT

    !>          LDPT is INTEGER
    !>          The leading dimension of the array PT.
    !>          LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
    !>

    C

    !>          C is REAL array, dimension (LDC,NCC)
    !>          On entry, an m-by-ncc matrix C.
    !>          On exit, C is overwritten by Q**T*C.
    !>          C is not referenced if NCC = 0.
    !>

    LDC

    !>          LDC is INTEGER
    !>          The leading dimension of the array C.
    !>          LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
    !>

    WORK

    !>          WORK is REAL array, dimension (2*max(M,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 zgbbrd (character vect, integer m, integer n, integer ncc, integer kl, integer ku, complex*16, dimension( ldab, * ) ab, integer ldab, double precision, dimension( * ) d, double precision, dimension( * ) e, complex*16, dimension( ldq, * ) q, integer ldq, complex*16, dimension( ldpt, * ) pt, integer ldpt, complex*16, dimension( ldc, * ) c, integer ldc, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer info)

ZGBBRD

Purpose:

    !>
    !> ZGBBRD reduces a complex general m-by-n band matrix A to real upper
    !> bidiagonal form B by a unitary transformation: Q**H * A * P = B.
    !>
    !> The routine computes B, and optionally forms Q or P**H, or computes
    !> Q**H*C for a given matrix C.
    !>

Parameters
    VECT

    !>          VECT is CHARACTER*1
    !>          Specifies whether or not the matrices Q and P**H are to be
    !>          formed.
    !>          = 'N': do not form Q or P**H;
    !>          = 'Q': form Q only;
    !>          = 'P': form P**H only;
    !>          = 'B': form both.
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    NCC

    !>          NCC is INTEGER
    !>          The number of columns of the matrix C.  NCC >= 0.
    !>

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals of the matrix A. KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals of the matrix A. KU >= 0.
    !>

    AB

    !>          AB is COMPLEX*16 array, dimension (LDAB,N)
    !>          On entry, the m-by-n band matrix A, stored in rows 1 to
    !>          KL+KU+1. The j-th column of A is stored in the j-th column of
    !>          the array AB as follows:
    !>          AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl).
    !>          On exit, A is overwritten by values generated during the
    !>          reduction.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array A. LDAB >= KL+KU+1.
    !>

    D

    !>          D is DOUBLE PRECISION array, dimension (min(M,N))
    !>          The diagonal elements of the bidiagonal matrix B.
    !>

    E

    !>          E is DOUBLE PRECISION array, dimension (min(M,N)-1)
    !>          The superdiagonal elements of the bidiagonal matrix B.
    !>

    Q

    !>          Q is COMPLEX*16 array, dimension (LDQ,M)
    !>          If VECT = 'Q' or 'B', the m-by-m unitary matrix Q.
    !>          If VECT = 'N' or 'P', the array Q is not referenced.
    !>

    LDQ

    !>          LDQ is INTEGER
    !>          The leading dimension of the array Q.
    !>          LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
    !>

    PT

    !>          PT is COMPLEX*16 array, dimension (LDPT,N)
    !>          If VECT = 'P' or 'B', the n-by-n unitary matrix P'.
    !>          If VECT = 'N' or 'Q', the array PT is not referenced.
    !>

    LDPT

    !>          LDPT is INTEGER
    !>          The leading dimension of the array PT.
    !>          LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
    !>

    C

    !>          C is COMPLEX*16 array, dimension (LDC,NCC)
    !>          On entry, an m-by-ncc matrix C.
    !>          On exit, C is overwritten by Q**H*C.
    !>          C is not referenced if NCC = 0.
    !>

    LDC

    !>          LDC is INTEGER
    !>          The leading dimension of the array C.
    !>          LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
    !>

    WORK

    !>          WORK is COMPLEX*16 array, dimension (max(M,N))
    !>

    RWORK

    !>          RWORK is DOUBLE PRECISION array, dimension (max(M,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.