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
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
The p?latrsfunction 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 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
-
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
-
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
-
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+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).
Temporary workspace.
Output Parameters
- X
-
On exit, x is overwritten by the solution vector x.
- scale
-
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.