Scroll to navigation

gbbrd(3) LAPACK 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.

Wed Feb 7 2024 11:30:40 Version 3.12.0