table of contents
gbbrd(3) | Library Functions Manual | 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 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 California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 191 of file cgbbrd.f.
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 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 California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 185 of file dgbbrd.f.
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 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 California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 185 of file sgbbrd.f.
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 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 California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 191 of file zgbbrd.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |