Provided by: liblapack-doc_3.12.0-3build1_all bug

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.