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

Syntax

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

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

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

void pzlauu2 (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?lauu2function 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 function, the matrix to operate on should be strictly local to one process.

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

Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.
Выберите цвет фиксируемой кнопки: 
Orange (only for download buttons)