Developer Reference for Intel® oneAPI Math Kernel Library for C
p?latrs
Solves a triangular system of equations with the scale factor set to prevent overflow.
Syntax
void pslatrs(char *uplo, char *trans, char *diag, char *normin, MKL_INT *n, float *a,
MKL_INT *ia, MKL_INT *ja, MKL_INT *desca, float *x, MKL_INT *ix, MKL_INT *jx,
MKL_INT *descx, float *scale, float *cnorm, float *work);
void pdlatrs(char *uplo, char *trans, char *diag, char *normin, MKL_INT *n, double *a,
MKL_INT *ia, MKL_INT *ja, MKL_INT *desca, double *x, MKL_INT *ix,
MKL_INT *jx, MKL_INT *descx, double *scale, double *cnorm, double *work);
void pclatrs(char *uplo, char *trans, char *diag, char *normin, MKL_INT *n,
MKL_Complex8 *a, MKL_INT *ia, MKL_INT *ja, MKL_INT *desca, MKL_Complex8 *x,
MKL_INT *ix, MKL_INT *jx, MKL_INT *descx, float *scale, float *cnorm,
MKL_Complex8 *work);
void pzlatrs(char *uplo, char *trans, char *diag, char *normin, MKL_INT *n,
MKL_Complex16 *a, MKL_INT *ia, MKL_INT *ja, MKL_INT *desca, MKL_Complex16 *x,
MKL_INT *ix, MKL_INT *jx, MKL_INT *descx, double *scale, double *cnorm,
MKL_Complex16 *work);
Include Files
mkl_scalapack.h
Description
pslatrs pdlatrs pclatrs pzlatrs The p?latrs routine function solves a triangular system of equations Ax = sb , A^{T}x = sb or A^{H}x = sb , where s is a scale factor set to prevent overflow. The description of the routine function will be extended in the future releases.
Input Parameters
uplo
Specifies whether the matrix A is upper or lower triangular. = ‘U’ : Upper triangular = ‘L’ : Lower triangular
trans
Specifies the operation applied to Ax . = ‘N’ : Solve Ax = s*b (no transpose) = ‘T’ : Solve ATx = s*b ( transpose) = ‘C’ : Solve AHx = s*b (conjugate transpose), where s - is a scale factor
diag
Specifies whether or not the matrix A is unit triangular. = ‘N’ : Non-unit triangular = ‘U’ : Unit triangular
normin
Specifies whether cnorm has been set or not. = ‘Y’ : cnorm contains the column norms on entry; = ‘N’ : cnorm is not set on entry. On exit, the norms will be computed and stored in cnorm .
n
The order of the matrix A . n ≥ 0
- a
-
REAL for pslatrs/pclatrs DOUBLE PRECISION for pdlatrs/pzlatrs
Array of size lda * n . Contains the triangular matrix A .
If uplo = U , the leading n -by- n upper triangular part of the array a contains the upper triangular matrix, and the strictly lower triangular part of a is not referenced. If uplo = 'L' , the leading n -by- n lower triangular part of the array a contains the lower triangular matrix, and the strictly upper triangular part of a is not referenced. If diag = 'U' , the diagonal elements of a are also not referenced and are assumed to be 1.
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the submatrix A , respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
- x
-
REAL for pslatrs/pclatrs DOUBLE PRECISION for pdlatrs/pzlatrs Array of size n . On entry, the right hand side b of the triangular system.
ix
(global) .The row index in the global matrix X indicating the first row of sub( x ).
jx
(global)
The column index in the global matrix X indicating the first column of sub( X ).
descx
(global and local)
Array of size dlen_ . The array descriptor for the distributed matrix X .
- cnorm
-
REAL for pslatrs/pclatrs DOUBLE PRECISION for pdlatrs/pzlatrs .
Array of size n . If normin = 'Y' , cnorm is an input argument and cnorm [ j ] contains the norm of the off-diagonal part of the j ( j +1) -th column of the matrix A , j =0, 1, …, n -1 . If trans = ‘N’ , cnorm [ j ] must be greater than or equal to the infinity-norm, and if trans = ‘T’ or ‘C’ , cnorm [ j ] must be greater than or equal to the 1-norm.
- work
-
(local). REAL for pslatrs DOUBLE PRECISION for pdlatrs COMPLEX for pclatrs COMPLEX*16 for pzlatrs . Temporary workspace.
Output Parameters
- X
-
On exit, x is overwritten by the solution vector x .
- scale
-
REAL for pslatrs/pclatrs DOUBLE PRECISION for pdlatrs/pzlatrs .
Array of size lda * n . The scaling factor s for the triangular system as described above.
If scale = 0 , the matrix A is singular or badly scaled, and the vector x is an exact or approximate solution to Ax = 0 .
cnorm
If normin = ‘N’ , cnorm is an output argument and cnorm [ j ] returns the 1-norm of the off-diagonal part of the ( j +1)-th column of A , j =0, 1, …, n -1 .