Developer Reference for Intel® oneAPI Math Kernel Library for C
p?lauum
Computes the product U*U' or L'*L , where U and L are upper or lower triangular matrices.
Syntax
voidpslauum ( char*uplo , MKL_INT*n , float*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca );
voidpdlauum ( char*uplo , MKL_INT*n , double*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca );
voidpclauum ( char*uplo , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca );
voidpzlauum ( char*uplo , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca );
Include Files
mkl_scalapack.h
Description
pslauum pdlauum pclauum pzlauum The p?lauum routine function 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) REAL for pslauum DOUBLE PRECISION for pdlauum COMPLEX for pclauum COMPLEX*16 for pzlauum .
Pointer into the local memory to an array of size (lld_a, LOCc(ja+n-1))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 .