Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
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

lapack_int LAPACKE_slauum (int matrix_layout , char uplo , lapack_int n , float * a , lapack_int lda );

lapack_int LAPACKE_dlauum (int matrix_layout , char uplo , lapack_int n , double * a , lapack_int lda );

lapack_int LAPACKE_clauum (int matrix_layout , char uplo , lapack_int n , lapack_complex_float * a , lapack_int lda );

lapack_int LAPACKE_zlauum (int matrix_layout , char uplo , lapack_int n , lapack_complex_double * a , lapack_int lda );

Include Files

  • mkl.h

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

A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.

uplo

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

= 'U': Upper triangular

= 'L': Lower triangular

n

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

a

Array of size max(1,lda *n).

On entry, the triangular factor U or L.

lda

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).

Return Values

This function returns a value info.

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.