Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
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

p?lauum

Computes the product U*U' or L'*L, where U and L are upper or lower triangular matrices.

Syntax

void pslauum (char *uplo , MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

void pdlauum (char *uplo , MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

void pclauum (char *uplo , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

void pzlauum (char *uplo , MKL_INT *n , MKL_Complex16 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca );

Include Files

  • mkl_scalapack.h

Description

The p?lauumfunction computes the product U*U' or L'*L, where the triangular factor U or L is stored in the upper or lower triangular part of the matrix sub(A)= A(ia:ia+n-1, ja:ja+n-1).

If uplo = 'U' or 'u', then the upper triangle of the result is stored, overwriting the factor U in sub(A). If uplo = 'L' or 'l', then the lower triangle of the result is stored, overwriting the factor L in sub(A).

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

Input Parameters

uplo

(global)

Specifies whether the triangular factor stored in the matrix sub(A) is upper or lower triangular:

= 'U': upper triangular

= 'L': lower triangular.

n

(global)

The number of rows and columns to be operated on, that is, the order of the triangular factor U or L. n 0.

a

(local)

Pointer into the local memory to an array of size lld_a * LOCc(ja+n-1). On entry, the local pieces of the triangular factor U or L.

ia

(global)

The row index in the global matrix A indicating the first row of sub(A).

ja

(global)

The column index in the global matrix A indicating the first column of sub(A).

desca

(global and local) array of size dlen_. The array descriptor for the distributed matrix A.

Output Parameters

a

(local)

On exit, if uplo = 'U', the upper triangle of the distributed matrix sub(A) is overwritten with the upper triangle of the product U*U' ; if uplo = 'L', the lower triangle of sub(A) is overwritten with the lower triangle of the product L'*L.

See Also