logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

gbbrd - gbbrd: band to bidiagonal

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Sun Jul 20 2025 01:40:05 gbbrd(3)

Detailed Description

Function Documentation

subroutinecgbbrd(charactervect,integerm,integern,integerncc,integerkl,integerku,complex,dimension(ldab,*)ab,integerldab,real,dimension(*)d,real,dimension(*)e,complex,dimension(ldq,*)q,integerldq,complex,dimension(ldpt,*)pt,integerldpt,complex,dimension(ldc,*)c,integerldc,complex,dimension(*)work,real,dimension(*)rwork,integerinfo)CGBBRDPurpose: 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. ParametersVECT 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. subroutinedgbbrd(charactervect,integerm,integern,integerncc,integerkl,integerku,doubleprecision,dimension(ldab,*)ab,integerldab,doubleprecision,dimension(*)d,doubleprecision,dimension(*)e,doubleprecision,dimension(ldq,*)q,integerldq,doubleprecision,dimension(ldpt,*)pt,integerldpt,doubleprecision,dimension(ldc,*)c,integerldc,doubleprecision,dimension(*)work,integerinfo)DGBBRDPurpose: 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. ParametersVECT 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. subroutinesgbbrd(charactervect,integerm,integern,integerncc,integerkl,integerku,real,dimension(ldab,*)ab,integerldab,real,dimension(*)d,real,dimension(*)e,real,dimension(ldq,*)q,integerldq,real,dimension(ldpt,*)pt,integerldpt,real,dimension(ldc,*)c,integerldc,real,dimension(*)work,integerinfo)SGBBRDPurpose: 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. ParametersVECT 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. subroutinezgbbrd(charactervect,integerm,integern,integerncc,integerkl,integerku,complex*16,dimension(ldab,*)ab,integerldab,doubleprecision,dimension(*)d,doubleprecision,dimension(*)e,complex*16,dimension(ldq,*)q,integerldq,complex*16,dimension(ldpt,*)pt,integerldpt,complex*16,dimension(ldc,*)c,integerldc,complex*16,dimension(*)work,doubleprecision,dimension(*)rwork,integerinfo)ZGBBRDPurpose: 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. ParametersVECT 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.

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

See Also