SGBBRD(3) LAPACK routine of NEC Numeric Library Collection SGBBRD(3)
NAME
SGBBRD
SYNOPSIS
SUBROUTINE SGBBRD (VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, LDQ, PT,
LDPT, C, LDC, WORK, INFO)
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.
ARGUMENTS
VECT (input)
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 (input)
M is INTEGER
The number of rows of the matrix A. M >= 0.
N (input)
N is INTEGER
The number of columns of the matrix A. N >= 0.
NCC (input)
NCC is INTEGER
The number of columns of the matrix C. NCC >= 0.
KL (input)
KL is INTEGER
The number of subdiagonals of the matrix A. KL >= 0.
KU (input)
KU is INTEGER
The number of superdiagonals of the matrix A. KU >= 0.
AB (input/output)
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 (input)
LDAB is INTEGER
The leading dimension of the array A. LDAB >= KL+KU+1.
D (output)
D is REAL array, dimension (min(M,N))
The diagonal elements of the bidiagonal matrix B.
E (output)
E is REAL array, dimension (min(M,N)-1)
The superdiagonal elements of the bidiagonal matrix B.
Q (output)
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 (input)
LDQ is INTEGER
The leading dimension of the array Q.
LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.
PT (output)
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 (input)
LDPT is INTEGER
The leading dimension of the array PT.
LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.
C (input/output)
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 (input)
LDC is INTEGER
The leading dimension of the array C.
LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.
WORK (output)
WORK is REAL array, dimension (2*max(M,N))
INFO (output)
INFO is INTEGER
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value.
LAPACK routine 31 October 2017 SGBBRD(3)