Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

p?lascl

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

Syntax

call pslascl(type, cfrom, cto, m, n, a, ia, ja, desca, info)

call pdlascl(type, cfrom, cto, m, n, a, ia, ja, desca, info)

call pclascl(type, cfrom, cto, m, n, a, ia, ja, desca, info)

call pzlascl(type, cfrom, cto, m, n, a, ia, ja, desca, info)

Description

The p?lasclroutine 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) CHARACTER.

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)

REAL for pslascl/pclascl

DOUBLE PRECISION for pdlascl/pzlascl.

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

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

n

(global) INTEGER.

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

a

(local input/local output)

REAL for pslascl

DOUBLE PRECISION for pdlascl

COMPLEX for pclascl

COMPLEX*16 for pzlascl.

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

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

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)

INTEGER.

if info = 0: the execution is successful.

if info < 0: If the i-th argument is an array and the j-th entry 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