Developer Reference for Intel® oneAPI Math Kernel Library for C
?lascl
Multiplies a general rectangular matrix by a real scalar defined as c to /c from .
Syntax
lapack_int LAPACKE_slascl(int matrix_layout, char type, lapack_int kl, lapack_int ku,
float cfrom, float cto, lapack_int m, lapack_int n, float *a,
lapack_int lda);
lapack_int LAPACKE_dlascl(int matrix_layout, char type, lapack_int kl, lapack_int ku,
double cfrom, double cto, lapack_int m, lapack_int n, double *a,
lapack_int lda);
lapack_int LAPACKE_clascl(int matrix_layout, char type, lapack_int kl, lapack_int ku,
float cfrom, float cto, lapack_int m, lapack_int n,
lapack_complex_float *a, lapack_int lda);
lapack_int LAPACKE_zlascl(int matrix_layout, char type, lapack_int kl, lapack_int ku,
double cfrom, double cto, lapack_int m, lapack_int n,
lapack_complex_double *a, lapack_int lda);
Include Files
mkl.h
Description
The routine ?lascl multiplies the m -by- n real/complex matrix A by the real scalar c_{to}/c_{from} . The operation is performed without over/underflow as long as the final result c_{to}*A(i,j)/c_{from} does not over/underflow.
type specifies that A may be full, upper triangular, lower triangular, upper Hessenberg, or banded.
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
type
This parameter specifies the storage type of the input matrix.
= ‘G’ : A is a full matrix. = ‘L’ : A is a lower triangular matrix. = ‘U’ : A is an upper triangular matrix. = ‘H’ : A is an upper Hessenberg matrix. = ‘B’ : A is a symmetric band matrix with lower bandwidth kl and upper bandwidth ku and with the only the lower half stored = ‘Q’ : A is a symmetric band matrix with lower bandwidth kl and upper bandwidth ku and with the only the upper half stored. = ‘Z’ : A is a band matrix with lower bandwidth kl and upper bandwidth ku . See description of the ?gbtrf function for storage details.
kl
The lower bandwidth of A . Referenced only if type = 'B' , ‘Q’ or ‘Z’ .
ku
The upper bandwidth of A . Referenced only if type = 'B' , ‘Q’ or ‘Z’ .
- cfrom , cto
-
REAL for slascl / clascl DOUBLE PRECISION for dlascl / zlascl The matrix 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
-
The number of rows in the matrix A. The value of m must be at least zero.
- n
-
The number of columns in the matrix A. The value of n must be at least zero.
- a
-
REAL for slascl DOUBLE PRECISION for dlascl COMPLEX for clascl DOUBLE COMPLEX for zlascl
Array, size ( lda * n ) . The matrix to be multiplied by cto / cfrom . See type for the storage type.
lda
The leading dimension of the array a .
lda≥ max(1,m) .
Output Parameters
- a
-
The multiplied matrix A .
info
INTEGER .
If info = 0 - successful exit
If info = -i < 0 , the i -th argument had an illegal value.