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
voidpslatrs ( 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 );
voidpdlatrs ( 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 );
voidpclatrs ( 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 );
voidpzlatrs ( 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 A:code:`T`x = s*b ( transpose) = ‘C’ : Solve A:code:`H`x = 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 .