labrd#

Functions

void slabrd(
    const INT           m,
    const INT           n,
    const INT           nb,
          f32* restrict A,
    const INT           lda,
          f32* restrict D,
          f32* restrict E,
          f32* restrict tauq,
          f32* restrict taup,
          f32* restrict X,
    const INT           ldx,
          f32* restrict Y,
    const INT           ldy
);
void slabrd(const INT m, const INT n, const INT nb, f32 *restrict A, const INT lda, f32 *restrict D, f32 *restrict E, f32 *restrict tauq, f32 *restrict taup, f32 *restrict X, const INT ldx, f32 *restrict Y, const INT ldy)#

SLABRD reduces the first NB rows and columns of a real general m by n matrix A to upper or lower bidiagonal form by an orthogonal transformation Q**T * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A.

If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form.

This is an auxiliary routine called by SGEBRD.

Parameters

in
m

The number of rows in the matrix A.

in
n

The number of columns in the matrix A.

in
nb

The number of leading rows and columns of A to be reduced.

inout
A

Double precision array, dimension (lda, n). On entry, the m by n general matrix to be reduced. On exit, the first NB rows and columns of the matrix are overwritten; the rest of the array is unchanged.

in
lda

The leading dimension of the array A. lda >= max(1,m).

out
D

Double precision array, dimension (nb). The diagonal elements of the first NB rows and columns of the reduced matrix. D[i] = A[i,i].

out
E

Double precision array, dimension (nb). The off-diagonal elements of the first NB rows and columns of the reduced matrix.

out
tauq

Double precision array, dimension (nb). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q.

out
taup

Double precision array, dimension (nb). The scalar factors of the elementary reflectors which represent the orthogonal matrix P.

out
X

Double precision array, dimension (ldx, nb). The m-by-nb matrix X required to update the unreduced part of A.

in
ldx

The leading dimension of the array X. ldx >= max(1,m).

out
Y

Double precision array, dimension (ldy, nb). The n-by-nb matrix Y required to update the unreduced part of A.

in
ldy

The leading dimension of the array Y. ldy >= max(1,n).

Functions

void dlabrd(
    const INT           m,
    const INT           n,
    const INT           nb,
          f64* restrict A,
    const INT           lda,
          f64* restrict D,
          f64* restrict E,
          f64* restrict tauq,
          f64* restrict taup,
          f64* restrict X,
    const INT           ldx,
          f64* restrict Y,
    const INT           ldy
);
void dlabrd(const INT m, const INT n, const INT nb, f64 *restrict A, const INT lda, f64 *restrict D, f64 *restrict E, f64 *restrict tauq, f64 *restrict taup, f64 *restrict X, const INT ldx, f64 *restrict Y, const INT ldy)#

DLABRD reduces the first NB rows and columns of a real general m by n matrix A to upper or lower bidiagonal form by an orthogonal transformation Q**T * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A.

If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form.

This is an auxiliary routine called by DGEBRD.

Parameters

in
m

The number of rows in the matrix A.

in
n

The number of columns in the matrix A.

in
nb

The number of leading rows and columns of A to be reduced.

inout
A

Double precision array, dimension (lda, n). On entry, the m by n general matrix to be reduced. On exit, the first NB rows and columns of the matrix are overwritten; the rest of the array is unchanged.

in
lda

The leading dimension of the array A. lda >= max(1,m).

out
D

Double precision array, dimension (nb). The diagonal elements of the first NB rows and columns of the reduced matrix. D[i] = A[i,i].

out
E

Double precision array, dimension (nb). The off-diagonal elements of the first NB rows and columns of the reduced matrix.

out
tauq

Double precision array, dimension (nb). The scalar factors of the elementary reflectors which represent the orthogonal matrix Q.

out
taup

Double precision array, dimension (nb). The scalar factors of the elementary reflectors which represent the orthogonal matrix P.

out
X

Double precision array, dimension (ldx, nb). The m-by-nb matrix X required to update the unreduced part of A.

in
ldx

The leading dimension of the array X. ldx >= max(1,m).

out
Y

Double precision array, dimension (ldy, nb). The n-by-nb matrix Y required to update the unreduced part of A.

in
ldy

The leading dimension of the array Y. ldy >= max(1,n).

Functions

void clabrd(
    const INT           m,
    const INT           n,
    const INT           nb,
          c64* restrict A,
    const INT           lda,
          f32* restrict D,
          f32* restrict E,
          c64* restrict tauq,
          c64* restrict taup,
          c64* restrict X,
    const INT           ldx,
          c64* restrict Y,
    const INT           ldy
);
void clabrd(const INT m, const INT n, const INT nb, c64 *restrict A, const INT lda, f32 *restrict D, f32 *restrict E, c64 *restrict tauq, c64 *restrict taup, c64 *restrict X, const INT ldx, c64 *restrict Y, const INT ldy)#

CLABRD reduces the first NB rows and columns of a complex general m by n matrix A to upper or lower real bidiagonal form by a unitary transformation Q**H * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A.

If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form.

This is an auxiliary routine called by CGEBRD.

Parameters

in
m

The number of rows in the matrix A.

in
n

The number of columns in the matrix A.

in
nb

The number of leading rows and columns of A to be reduced.

inout
A

Complex array, dimension (lda, n). On entry, the m by n general matrix to be reduced. On exit, the first NB rows and columns of the matrix are overwritten; the rest of the array is unchanged.

in
lda

The leading dimension of the array A. lda >= max(1,m).

out
D

Single precision array, dimension (nb). The diagonal elements of the first NB rows and columns of the reduced matrix. D[i] = A[i,i].

out
E

Single precision array, dimension (nb). The off-diagonal elements of the first NB rows and columns of the reduced matrix.

out
tauq

Complex array, dimension (nb). The scalar factors of the elementary reflectors which represent the unitary matrix Q.

out
taup

Complex array, dimension (nb). The scalar factors of the elementary reflectors which represent the unitary matrix P.

out
X

Complex array, dimension (ldx, nb). The m-by-nb matrix X required to update the unreduced part of A.

in
ldx

The leading dimension of the array X. ldx >= max(1,m).

out
Y

Complex array, dimension (ldy, nb). The n-by-nb matrix Y required to update the unreduced part of A.

in
ldy

The leading dimension of the array Y. ldy >= max(1,n).

Functions

void zlabrd(
    const INT            m,
    const INT            n,
    const INT            nb,
          c128* restrict A,
    const INT            lda,
          f64*  restrict D,
          f64*  restrict E,
          c128* restrict tauq,
          c128* restrict taup,
          c128* restrict X,
    const INT            ldx,
          c128* restrict Y,
    const INT            ldy
);
void zlabrd(const INT m, const INT n, const INT nb, c128 *restrict A, const INT lda, f64 *restrict D, f64 *restrict E, c128 *restrict tauq, c128 *restrict taup, c128 *restrict X, const INT ldx, c128 *restrict Y, const INT ldy)#

ZLABRD reduces the first NB rows and columns of a complex general m by n matrix A to upper or lower real bidiagonal form by a unitary transformation Q**H * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A.

If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form.

This is an auxiliary routine called by ZGEBRD.

Parameters

in
m

The number of rows in the matrix A.

in
n

The number of columns in the matrix A.

in
nb

The number of leading rows and columns of A to be reduced.

inout
A

Complex array, dimension (lda, n). On entry, the m by n general matrix to be reduced. On exit, the first NB rows and columns of the matrix are overwritten; the rest of the array is unchanged.

in
lda

The leading dimension of the array A. lda >= max(1,m).

out
D

Double precision array, dimension (nb). The diagonal elements of the first NB rows and columns of the reduced matrix. D[i] = A[i,i].

out
E

Double precision array, dimension (nb). The off-diagonal elements of the first NB rows and columns of the reduced matrix.

out
tauq

Complex array, dimension (nb). The scalar factors of the elementary reflectors which represent the unitary matrix Q.

out
taup

Complex array, dimension (nb). The scalar factors of the elementary reflectors which represent the unitary matrix P.

out
X

Complex array, dimension (ldx, nb). The m-by-nb matrix X required to update the unreduced part of A.

in
ldx

The leading dimension of the array X. ldx >= max(1,m).

out
Y

Complex array, dimension (ldy, nb). The n-by-nb matrix Y required to update the unreduced part of A.

in
ldy

The leading dimension of the array Y. ldy >= max(1,n).