Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
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 )
Include Files
mkl_scalapack.h
Description
pslauu2 pdlauu2 pclauu2 pzlauu2 The p?lauu2 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 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 function , 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 .