Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lauum

Computes the product U*UT(U*UH) or LT*L (LH*L), where U and L are upper or lower triangular matrices (blocked algorithm).

Syntax

call slauum( uplo, n, a, lda, info )

call dlauum( uplo, n, a, lda, info )

call clauum( uplo, n, a, lda, info )

call zlauum( uplo, n, a, lda, info )

Include Files

  • mkl.fi

Description

The routine ?lauum computes the product U*UT or LT*L for real flavors, and U*UH or LH*L for complex flavors. Here 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 BLAS Level 3 Routines.

Input Parameters

The data types are given for the Fortran interface.

uplo

CHARACTER*1.

Specifies whether the triangular factor stored in the array a is upper or lower triangular:

= 'U': Upper triangular

= 'L': Lower triangular

n

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

a

REAL for slauum

DOUBLE PRECISION for dlauum

COMPLEX for clauum

DOUBLE COMPLEX for zlauum .

Array of size (lda, n).

On entry, the triangular factor U or L.

lda

INTEGER. The leading dimension of the array a. lda max(1,n).

Output Parameters

a

On exit,

if uplo = 'U', then the upper triangle of a is overwritten with the upper triangle of the product U*UT(U*UH);

if uplo = 'L', then the lower triangle of a is overwritten with the lower triangle of the product LT*L (LH*L).

info

INTEGER.

If info = 0, the execution is successful.

If info = -k, the k-th parameter had an illegal value.

If info = -1011, memory allocation error occurred.