lauum#

Functions

void slauum(
    const char*          uplo,
    const INT            n,
          f32*  restrict A,
    const INT            lda,
          INT*           info
);
void slauum(const char *uplo, const INT n, f32 *restrict A, const INT lda, INT *info)#

SLAUUM computes the product U * U**T or L**T * L, where the triangular factor U or L is stored in the upper or lower triangular part of the array A.

If UPLO = ‘U’ or ‘u’ then the upper triangle of the result is stored, overwriting the factor U in A. If UPLO = ‘L’ or ‘l’ then the lower triangle of the result is stored, overwriting the factor L in A.

This is the blocked form of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies whether the triangular factor stored in the array A is upper or lower triangular: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the triangular factor U or L. n >= 0.

inout
A

Double precision array, dimension (lda, n). On entry, the triangular factor U or L. On exit, if UPLO = ‘U’, the upper triangle of A is overwritten with the upper triangle of the product U * U**T; if UPLO = ‘L’, the lower triangle of A is overwritten with the lower triangle of the product L**T * L.

in
lda

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

out
info

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void dlauum(
    const char*          uplo,
    const INT            n,
          f64*  restrict A,
    const INT            lda,
          INT*           info
);
void dlauum(const char *uplo, const INT n, f64 *restrict A, const INT lda, INT *info)#

DLAUUM computes the product U * U**T or L**T * L, where the triangular factor U or L is stored in the upper or lower triangular part of the array A.

If UPLO = ‘U’ or ‘u’ then the upper triangle of the result is stored, overwriting the factor U in A. If UPLO = ‘L’ or ‘l’ then the lower triangle of the result is stored, overwriting the factor L in A.

This is the blocked form of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies whether the triangular factor stored in the array A is upper or lower triangular: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the triangular factor U or L. n >= 0.

inout
A

Double precision array, dimension (lda, n). On entry, the triangular factor U or L. On exit, if UPLO = ‘U’, the upper triangle of A is overwritten with the upper triangle of the product U * U**T; if UPLO = ‘L’, the lower triangle of A is overwritten with the lower triangle of the product L**T * L.

in
lda

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

out
info

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void clauum(
    const char*          uplo,
    const INT            n,
          c64*  restrict A,
    const INT            lda,
          INT*           info
);
void clauum(const char *uplo, const INT n, c64 *restrict A, const INT lda, INT *info)#

CLAUUM computes the product U * U**H or L**H * L, where the triangular factor U or L is stored in the upper or lower triangular part of the array A.

If UPLO = ‘U’ or ‘u’ then the upper triangle of the result is stored, overwriting the factor U in A. If UPLO = ‘L’ or ‘l’ then the lower triangle of the result is stored, overwriting the factor L in A.

This is the blocked form of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies whether the triangular factor stored in the array A is upper or lower triangular: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the triangular factor U or L. n >= 0.

inout
A

Complex*16 array, dimension (lda, n). On entry, the triangular factor U or L. On exit, if UPLO = ‘U’, the upper triangle of A is overwritten with the upper triangle of the product U * U**H; if UPLO = ‘L’, the lower triangle of A is overwritten with the lower triangle of the product L**H * L.

in
lda

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

out
info

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void zlauum(
    const char*          uplo,
    const INT            n,
          c128* restrict A,
    const INT            lda,
          INT*           info
);
void zlauum(const char *uplo, const INT n, c128 *restrict A, const INT lda, INT *info)#

ZLAUUM computes the product U * U**H or L**H * L, where the triangular factor U or L is stored in the upper or lower triangular part of the array A.

If UPLO = ‘U’ or ‘u’ then the upper triangle of the result is stored, overwriting the factor U in A. If UPLO = ‘L’ or ‘l’ then the lower triangle of the result is stored, overwriting the factor L in A.

This is the blocked form of the algorithm, calling Level 3 BLAS.

Parameters

in
uplo

Specifies whether the triangular factor stored in the array A is upper or lower triangular: = ‘U’: Upper triangular = ‘L’: Lower triangular

in
n

The order of the triangular factor U or L. n >= 0.

inout
A

Complex*16 array, dimension (lda, n). On entry, the triangular factor U or L. On exit, if UPLO = ‘U’, the upper triangle of A is overwritten with the upper triangle of the product U * U**H; if UPLO = ‘L’, the lower triangle of A is overwritten with the lower triangle of the product L**H * L.

in
lda

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

out
info

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value