Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

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?latrs
function
solves a triangular system of equations
Ax
=
s
b
,
A
T
x
=
s
b
or
A
H
x
=
s
b
, 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
A
T
x
=
s*b
(
transpose)
=
'C'
: Solve
A
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
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
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.