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 .