Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

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

Document Table of Contents

p?lauu2

Computes the product U*U' or L'*L, where U and L are upper or lower triangular matrices (local unblocked algorithm).

Syntax

call pslauu2(uplo, n, a, ia, ja, desca)

call pdlauu2(uplo, n, a, ia, ja, desca)

call pclauu2(uplo, n, a, ia, ja, desca)

call pzlauu2(uplo, n, a, ia, ja, desca)

Description

The p?lauu2routine 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 distributed 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 unblocked form of the algorithm, calling BLAS Level 2 Routines. No communication is performed by this routine, the matrix to operate on should be strictly local to one process.

Input Parameters

uplo

(global) CHARACTER*1.

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

= U: upper triangular

= L: lower triangular.

n

(global) INTEGER.

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)

REAL for pslauu2

DOUBLE PRECISION for pdlauu2

COMPLEX for pclauu2

COMPLEX*16 for pzlauu2.

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

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

ja

(global) INTEGER.

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

desca

(global and local) INTEGER 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