Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

?tpsv

Solves a system of linear equations whose coefficients are in a triangular packed matrix.

Syntax

call stpsv
(
uplo
,
trans
,
diag
,
n
,
ap
,
x
,
incx
)
call dtpsv
(
uplo
,
trans
,
diag
,
n
,
ap
,
x
,
incx
)
call ctpsv
(
uplo
,
trans
,
diag
,
n
,
ap
,
x
,
incx
)
call ztpsv
(
uplo
,
trans
,
diag
,
n
,
ap
,
x
,
incx
)
call tpsv
(
ap
,
x
[
,
uplo
]
[
,
trans
]
[
,
diag
]
)
Include Files
  • mkl.fi
    ,
    blas.f90
Description
The
?tpsv
routines solve one of the following systems of equations
A
*
x
=
b
, or
A
'*
x
=
b
, or
conjg(
A
')*
x
=
b
,
where:
b
and
x
are
n
-element vectors,
A
is an
n
-by-
n
unit, or non-unit, upper or lower triangular matrix, supplied in packed form.
This routine does not test for singularity or near-singularity.
Such tests must be performed before calling this routine.
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the matrix
A
is upper or lower triangular:
uplo
=
'U'
or
'u'
if
uplo
=
'L'
or
'l'
, then the matrix is low triangular.
trans
CHARACTER*1
.
Specifies the system of equations:
if
trans
= 'N'
or
'n'
, then
A
*
x
=
b
;
if
trans
= 'T'
or
't'
, then
A
'*
x
=
b
;
if
trans
= 'C'
or
'c'
, then
conjg(
A
')*
x
=
b
.
diag
CHARACTER*1
.
Specifies whether the matrix
A
is unit triangular:
if
diag
=
'U'
or
'u'
then the matrix is unit triangular;
if
diag
=
'N'
or
'n'
, then the matrix is not unit triangular.
n
INTEGER
.
Specifies the order of the matrix
A
. The value of
n
must be at least zero.
ap
REAL
for
stpsv
DOUBLE PRECISION
for
dtpsv
COMPLEX
for
ctpsv
DOUBLE COMPLEX
for
ztpsv
Array, size at least
((
n
*(
n
+ 1))/2)
.
Before entry with
uplo
=
'U'
or
'u'
, the array
ap
must contain the upper triangular part of the triangular matrix packed sequentially, column-by-column, so that
ap
(1)
contains
a
(1, 1)
,
ap
(2)
and
ap
(3)
contain
a
(1, 2)
and
a
(2, 2)
respectively, and so on.
Before entry with
uplo
=
'L'
or
'l'
, the array
ap
must contain the lower triangular part of the triangular matrix packed sequentially, column-by-column, so that
ap
(1)
contains
a
(1, 1)
,
ap
(2)
and
ap
(3)
contain
a
(2, 1)
and
a
(3, 1)
respectively, and so on.
When
diag
=
'U'
or
'u'
, the diagonal elements of
a
are not referenced, but are assumed to be unity.
x
REAL
for
stpsv
DOUBLE PRECISION
for
dtpsv
COMPLEX
for
ctpsv
DOUBLE COMPLEX
for
ztpsv
Array, size at least
(1 + (
n
- 1)*abs(
incx
))
. Before entry, the incremented array
x
must contain the
n
-element right-hand side vector