Developer Reference

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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804