Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

p?lanhs

Returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element, of an upper Hessenberg matrix.

Syntax

float pslanhs (char *norm , MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , float *work );

double pdlanhs (char *norm , MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , double *work );

float pclanhs (char *norm , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , float *work );

double pzlanhs (char *norm , MKL_INT *n , MKL_Complex16 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , double *work );

Include Files
  • mkl_scalapack.h
Description

The p?lanhsfunction returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of an upper Hessenberg distributed matrix sub(A) = A(ia:ia+m-1, ja:ja+n-1).

Input Parameters
norm

Specifies the value to be returned by the function:

= 'M' or 'm': val = max(abs(Aij)), largest absolute value of the matrix A.

= '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).

n

(global)

The number of columns in the distributed matrix sub(A). When n = 0, p?lanhs is set to zero. n 0.
a

(local).

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).

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).

Array of size lwork.

lwork 0 if norm = 'M' or 'm' (not referenced),

nq0 if norm = '1', 'O' or 'o',

mp0 if norm = 'I' or 'i',

0 if norm = 'F', 'f', 'E' or 'e' (not referenced),

where

iroffa = mod( ia-1, mb_a ), icoffa = mod( ja-1, nb_a ),

iarow = indxg2p( ia, mb_a, myrow, rsrc_a, nprow ),

iacol = indxg2p( ja, nb_a, mycol, csrc_a, npcol ),

mp0 = numroc( m+iroffa, mb_a, myrow, iarow, nprow ),

nq0 = numroc( n+icoffa, nb_a, mycol, iacol, npcol ),

indxg2p and numroc are ScaLAPACK tool functions; myrow, imycol, nprow, and npcol can be determined by calling the function blacs_gridinfo.

Output Parameters
val

The value returned by the function.

See Also