Developer Reference for Intel® oneAPI Math Kernel Library for C
p?lansy , p?lanhe
Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element, of a real symmetric or a complex Hermitian matrix.
Syntax
floatpslansy ( char*norm , char*uplo , MKL_INT*n , float*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , float*work );
doublepdlansy ( char*norm , char*uplo , MKL_INT*n , double*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , double*work );
floatpclansy ( char*norm , char*uplo , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , float*work );
doublepzlansy ( char*norm , char*uplo , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , double*work );
floatpclanhe ( char*norm , char*uplo , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , float*work );
doublepzlanhe ( char*norm , char*uplo , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , double*work );
Include Files
mkl_scalapack.h
Description
pslansy pdlansy pclansy pzlansy pclanhe pzlanhe The p?lansy and p?lanhe routines functions return the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a distributed matrix sub(A) = A(ia:ia+m-1, ja:ja+n-1) .
Input Parameters
norm
(global) Specifies what value is returned by the function :
= ‘M’ or ‘m’: val = max(abs(A_{ij})) , largest absolute value of the matrix A , it s not a matrix norm. = ‘1’ or ‘O’ or ‘o’: val = norm1(A) , 1-norm of the matrix A (maximum column sum), = ‘I’ or ‘i’: val = normI(A) , infinity norm of the matrix A (maximum row sum), = ‘F’ , ‘f’ , ‘E’ or ‘e’: val = normF(A) , Frobenius norm of the matrix A (square root of sum of squares).
uplo
(global) Specifies whether the upper or lower triangular part of the symmetric matrix sub( A ) is to be referenced.
= ‘U’ : Upper triangular part of sub( A ) is referenced, = ‘L’ : Lower triangular part of sub( A ) is referenced.
n
(global)
The number of columns in the distributed matrix sub( A ). When n = 0 , p?lansy is set to zero. n ≥ 0.
- a
-
(local). REAL for pslansy DOUBLE PRECISION for pdlansy COMPLEX for pclansy , pclanhe COMPLEX*16 for pzlansy , pzlanhe .
Pointer into the local memory to an array of size lld_a * LOCc ( ja + n -1) containing the local pieces of the distributed matrix sub( A ).
If uplo = 'U' , the leading n -by- n upper triangular part of sub( A ) contains the upper triangular matrix whose norm is to be computed, and the strictly lower triangular part of this matrix is not referenced. If uplo = 'L' , the leading n -by- n lower triangular part of sub( A ) contains the lower triangular matrix whose norm is to be computed, and the strictly upper triangular part of sub( A ) is not referenced.
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the matrix sub( A ), respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
- work
-
(local). REAL for pslansy , pclansy , pclanhe DOUBLE PRECISION for pdlansy , pzlansy , pzlanhe Array of size lwork . lwork ≥ 0 if norm = ‘M’ or ‘m’ (not referenced), 2*nq0+mp0+ldw if norm = ‘1’, ‘O’ or ‘o’ , ‘I’ or ‘i’ , where ldw is given by: if( nprow≠npcol ) thenldw = mb_a*iceil(iceil(np0,mb_a),(lcm/nprow))elseldw = 0end if 0 if norm = 'F' , ‘f’ , ‘E’ or ‘e’ (not referenced), where lcm is the least common multiple of nprow and npcol, lcm = ilcm( nprow, npcol ) and iceil(x,y) is a ScaLAPACK function that returns ceiling (x/y) . iarow = indxg2p ( ia , mb_a , myrow , rsrc_a , nprow ), iacol = indxg2p ( ja , nb_a , mycol , csrc_a , npcol ), mp 0 = numroc ( m + iroffa , mb_a , myrow , iarow , nprow ), nq 0 = numroc ( n + icoffa , nb_a , mycol , iacol , npcol ),
ilcm , iceil , indxg2p , and numroc are ScaLAPACK tool functions; myrow , mycol , nprow , and npcol can be determined by calling the function blacs_gridinfo .