Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
p?latrs
Solves a triangular system of equations with the scale factor set to prevent overflow.
Syntax
call pslatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale,
cnorm, work)
call pdlatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale,
cnorm, work)
call pclatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale,
cnorm, work)
call pzlatrs(uplo, trans, diag, normin, n, a, ia, ja, desca, x, ix, jx, descx, scale,
cnorm, 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
CHARACTER*1 .
Specifies whether the matrix A is upper or lower triangular. = ‘U’ : Upper triangular = ‘L’ : Lower triangular
trans
CHARACTER*1 .
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
CHARACTER*1 .
Specifies whether or not the matrix A is unit triangular. = ‘N’ : Non-unit triangular = ‘U’ : Unit triangular
normin
CHARACTER*1 .
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
INTEGER .
The order of the matrix A . n ≥ 0
- a
-
REAL for pslatrs/pclatrs DOUBLE PRECISION for pdlatrs/pzlatrs
Array of size lda by 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) INTEGER . 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) INTEGER 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) INTEGER .The row index in the global matrix X indicating the first row of sub( x ).
jx
(global) INTEGER .
The column index in the global matrix X indicating the first column of sub( X ).
descx
(global and local) INTEGER .
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 -th column of A . 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 by 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 -th column of A .