Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

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

Document Table of Contents

?lascl

Multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.

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 cto/cfrom. The operation is performed without over/underflow as long as the final result cto*A(i,j)/cfrom 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

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 of the matrix A. m 0.

n

The number of columns of the matrix A. n 0.

a

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

If info = 0 - successful exit

If info = -i < 0, the i-th argument had an illegal value.

See Also