Visible to Intel only — GUID: GUID-77086B53-7C8E-411B-93D5-42D680D54CA4
Visible to Intel only — GUID: GUID-77086B53-7C8E-411B-93D5-42D680D54CA4
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)
Description
The p?latrsroutine solves a triangular system of equations Ax = sb, ATx = sb or AHx = sb, where s is a scale factor set to prevent overflow. The description of the routine 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 ldaby 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 ldaby 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.