latrd#

Functions

void slatrd(
    const char*          uplo,
    const INT            n,
    const INT            nb,
          f32*  restrict A,
    const INT            lda,
          f32*  restrict E,
          f32*  restrict tau,
          f32*  restrict W,
    const INT            ldw
);
void slatrd(const char *uplo, const INT n, const INT nb, f32 *restrict A, const INT lda, f32 *restrict E, f32 *restrict tau, f32 *restrict W, const INT ldw)#

SLATRD reduces NB rows and columns of a real symmetric matrix A to symmetric tridiagonal form by an orthogonal similarity transformation Q**T * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A.

If UPLO = ‘U’, SLATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = ‘L’, SLATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied.

This is an auxiliary routine called by SSYTRD.

Parameters

in
uplo

Specifies whether the upper or lower triangular part of the symmetric matrix A is stored: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the matrix A. n >= 0.

in
nb

The number of rows and columns to be reduced.

inout
A

Double precision array, dimension (lda, n). On entry, the symmetric matrix A. On exit, if UPLO = ‘U’, the last NB columns have been reduced to tridiagonal form; if UPLO = ‘L’, the first NB columns have been reduced to tridiagonal form.

in
lda

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

out
E

Double precision array, dimension (n-1). The off-diagonal elements of the tridiagonal matrix.

out
tau

Double precision array, dimension (n-1). The scalar factors of the elementary reflectors.

out
W

Double precision array, dimension (ldw, nb). The n-by-nb matrix W.

in
ldw

The leading dimension of the array W. ldw >= max(1,n).

Functions

void dlatrd(
    const char*          uplo,
    const INT            n,
    const INT            nb,
          f64*  restrict A,
    const INT            lda,
          f64*  restrict E,
          f64*  restrict tau,
          f64*  restrict W,
    const INT            ldw
);
void dlatrd(const char *uplo, const INT n, const INT nb, f64 *restrict A, const INT lda, f64 *restrict E, f64 *restrict tau, f64 *restrict W, const INT ldw)#

DLATRD reduces NB rows and columns of a real symmetric matrix A to symmetric tridiagonal form by an orthogonal similarity transformation Q**T * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A.

If UPLO = ‘U’, DLATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = ‘L’, DLATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied.

This is an auxiliary routine called by DSYTRD.

Parameters

in
uplo

Specifies whether the upper or lower triangular part of the symmetric matrix A is stored: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the matrix A. n >= 0.

in
nb

The number of rows and columns to be reduced.

inout
A

Double precision array, dimension (lda, n). On entry, the symmetric matrix A. On exit, if UPLO = ‘U’, the last NB columns have been reduced to tridiagonal form; if UPLO = ‘L’, the first NB columns have been reduced to tridiagonal form.

in
lda

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

out
E

Double precision array, dimension (n-1). The off-diagonal elements of the tridiagonal matrix.

out
tau

Double precision array, dimension (n-1). The scalar factors of the elementary reflectors.

out
W

Double precision array, dimension (ldw, nb). The n-by-nb matrix W.

in
ldw

The leading dimension of the array W. ldw >= max(1,n).

Functions

void clatrd(
    const char*          uplo,
    const INT            n,
    const INT            nb,
          c64*  restrict A,
    const INT            lda,
          f32*  restrict E,
          c64*  restrict tau,
          c64*  restrict W,
    const INT            ldw
);
void clatrd(const char *uplo, const INT n, const INT nb, c64 *restrict A, const INT lda, f32 *restrict E, c64 *restrict tau, c64 *restrict W, const INT ldw)#

CLATRD reduces NB rows and columns of a complex Hermitian matrix A to Hermitian tridiagonal form by a unitary similarity transformation Q**H * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A.

If UPLO = ‘U’, CLATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = ‘L’, CLATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied.

This is an auxiliary routine called by CHETRD.

Parameters

in
uplo

Specifies whether the upper or lower triangular part of the Hermitian matrix A is stored: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the matrix A. n >= 0.

in
nb

The number of rows and columns to be reduced.

inout
A

Complex array, dimension (lda, n). On entry, the Hermitian matrix A. On exit, if UPLO = ‘U’, the last NB columns have been reduced to tridiagonal form; if UPLO = ‘L’, the first NB columns have been reduced to tridiagonal form.

in
lda

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

out
E

Single precision array, dimension (n-1). The off-diagonal elements of the tridiagonal matrix.

out
tau

Complex array, dimension (n-1). The scalar factors of the elementary reflectors.

out
W

Complex array, dimension (ldw, nb). The n-by-nb matrix W.

in
ldw

The leading dimension of the array W. ldw >= max(1,n).

Functions

void zlatrd(
    const char*          uplo,
    const INT            n,
    const INT            nb,
          c128* restrict A,
    const INT            lda,
          f64*  restrict E,
          c128* restrict tau,
          c128* restrict W,
    const INT            ldw
);
void zlatrd(const char *uplo, const INT n, const INT nb, c128 *restrict A, const INT lda, f64 *restrict E, c128 *restrict tau, c128 *restrict W, const INT ldw)#

ZLATRD reduces NB rows and columns of a complex Hermitian matrix A to Hermitian tridiagonal form by a unitary similarity transformation Q**H * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A.

If UPLO = ‘U’, ZLATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = ‘L’, ZLATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied.

This is an auxiliary routine called by ZHETRD.

Parameters

in
uplo

Specifies whether the upper or lower triangular part of the Hermitian matrix A is stored: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the matrix A. n >= 0.

in
nb

The number of rows and columns to be reduced.

inout
A

Complex array, dimension (lda, n). On entry, the Hermitian matrix A. On exit, if UPLO = ‘U’, the last NB columns have been reduced to tridiagonal form; if UPLO = ‘L’, the first NB columns have been reduced to tridiagonal form.

in
lda

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

out
E

Double precision array, dimension (n-1). The off-diagonal elements of the tridiagonal matrix.

out
tau

Complex array, dimension (n-1). The scalar factors of the elementary reflectors.

out
W

Complex array, dimension (ldw, nb). The n-by-nb matrix W.

in
ldw

The leading dimension of the array W. ldw >= max(1,n).