Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?latrs

Solves a triangular system of equations with the scale factor set to prevent overflow.

Syntax

call slatrs
(
uplo
,
trans
,
diag
,
normin
,
n
,
a
,
lda
,
x
,
scale
,
cnorm
,
info
)
call dlatrs
(
uplo
,
trans
,
diag
,
normin
,
n
,
a
,
lda
,
x
,
scale
,
cnorm
,
info
)
call clatrs
(
uplo
,
trans
,
diag
,
normin
,
n
,
a
,
lda
,
x
,
scale
,
cnorm
,
info
)
call zlatrs
(
uplo
,
trans
,
diag
,
normin
,
n
,
a
,
lda
,
x
,
scale
,
cnorm
,
info
)
Include Files
  • mkl.fi
Description
The routine solves one of the triangular systems
A
*
x
=
s
*
b
, or
A
T
*
x
=
s
*
b,
or
A
H
*
x
=
s
*
b
(for complex flavors)
with scaling to prevent overflow. Here
A
is an upper or lower triangular matrix,
A
T
denotes the transpose of
A
,
A
H
denotes the conjugate transpose of
A
,
x
and
b
are
n
-element vectors, and
s
is a scaling factor, usually less than or equal to 1, chosen so that the components of
x
will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine
?trsv
is called. If the matrix
A
is singular
(
A
(
j
,
j
) = 0
for some
j
), then
s
is set to 0 and a non-trivial solution to
A
*
x
= 0
is returned.
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
A
.
=
'N'
: solve
A
*
x
=
s
*
b
(no transpose)
=
'T'
: solve
A
T
*
x
=
s
*
b
(transpose)
=
'C'
: solve
A
H
*
x
=
s
*
b
(conjugate transpose)
diag
CHARACTER*1
.
Specifies whether or not the matrix
A
is unit triangular.
=
'N'
: non-unit triangular