Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

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

Document Table of Contents

p?lascl

Multiplies a general rectangular matrix by a real scalar defined as Cto/Cfrom.

Syntax

void pslascl (char *type , float *cfrom , float *cto , MKL_INT *m , MKL_INT *n , float *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pdlascl (char *type , double *cfrom , double *cto , MKL_INT *m , MKL_INT *n , double *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pclascl (char *type , float *cfrom , float *cto , MKL_INT *m , MKL_INT *n , MKL_Complex8 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

void pzlascl (char *type , double *cfrom , double *cto , MKL_INT *m , MKL_INT *n , MKL_Complex16 *a , MKL_INT *ia , MKL_INT *ja , MKL_INT *desca , MKL_INT *info );

Include Files

  • mkl_scalapack.h

Description

The p?lasclfunction multiplies the m-by-n real/complex distributed matrix sub(A) denoting A(ia:ia+m-1, ja:ja+n-1) by the real/complex scalar cto/cfrom. This is done without over/underflow as long as the final result cto*A(i,j)/cfrom does not over/underflow. type specifies that sub(A) may be full, upper triangular, lower triangular or upper Hessenberg.

Input Parameters

type

(global)

type indicates the storage type of the input distributed matrix.

if type = 'G': sub(A) is a full matrix,

if type = 'L': sub(A) is a lower triangular matrix,

if type = 'U': sub(A) is an upper triangular matrix,

if type = 'H': sub(A) is an upper Hessenberg matrix.

cfrom, cto

(global)

The distributed matrix sub(A) is multiplied by cto/cfrom. A(i,j) is computed without over/underflow if the final result cto*A(i,j)/cfrom can be represented without over/underflow. cfrom must be nonzero.

m

(global)

The number of rows in the distributed matrix sub(A). (m0).

n

(global)

The number of columns in the distributed matrix sub(A). (n0).

a

(local input/local output)

Pointer into the local memory to an array of size lld_a * LOCc(ja+n-1).

This array contains the local pieces of the distributed matrix sub(A).

ia, ja

(global)

The column and row indices in the global matrix A indicating the first row and column of the matrix sub(A), respectively.

desca

(global and local)

Array of size dlen_.The array descriptor for the distributed matrix A.

Output Parameters

a

(local).

On exit, this array contains the local pieces of the distributed matrix multiplied by cto/cfrom.

info

(local)

if info = 0: the execution is successful.

if info < 0: If the i-th argument is an array and the j-th entry, indexed j-1, had an illegal value, then info = -(i*100+j),

if the i-th argument is a scalar and had an illegal value, then info = -i.

See Also