# tpsv - Man Page

tpsv: triangular matrix-vector solve

## Synopsis

### Functions

subroutine ctpsv (uplo, trans, diag, n, ap, x, incx)
CTPSV
subroutine dtpsv (uplo, trans, diag, n, ap, x, incx)
DTPSV
subroutine stpsv (uplo, trans, diag, n, ap, x, incx)
STPSV
subroutine ztpsv (uplo, trans, diag, n, ap, x, incx)
ZTPSV

## Function Documentation

### subroutine ctpsv (character uplo, character trans, character diag, integer n, complex, dimension(*) ap, complex, dimension(*) x, integer incx)

CTPSV

Purpose:

``` CTPSV  solves one of the systems of equations

A*x = b,   or   A**T*x = b,   or   A**H*x = b,

where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular matrix, supplied in packed form.

No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine.```
Parameters

UPLO

```          UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:

UPLO = 'U' or 'u'   A is an upper triangular matrix.

UPLO = 'L' or 'l'   A is a lower triangular matrix.```

TRANS

```          TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:

TRANS = 'N' or 'n'   A*x = b.

TRANS = 'T' or 't'   A**T*x = b.

TRANS = 'C' or 'c'   A**H*x = b.```

DIAG

```          DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:

DIAG = 'U' or 'u'   A is assumed to be unit triangular.

DIAG = 'N' or 'n'   A is not assumed to be unit
triangular.```

N

```          N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero.```

AP

```          AP is COMPLEX array, dimension at least
( ( n*( n + 1 ) )/2 ).
Before entry with  UPLO = 'U' or 'u', the array AP must
contain the upper 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 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.
Note that when  DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity.```

X

```          X is COMPLEX array, dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x.```

INCX

```          INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Further Details:

```  Level 2 Blas routine.

-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs.```

Definition at line 143 of file ctpsv.f.

### subroutine dtpsv (character uplo, character trans, character diag, integer n, double precision, dimension(*) ap, double precision, dimension(*) x, integer incx)

DTPSV

Purpose:

``` DTPSV  solves one of the systems of equations

A*x = b,   or   A**T*x = b,

where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular matrix, supplied in packed form.

No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine.```
Parameters

UPLO

```          UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:

UPLO = 'U' or 'u'   A is an upper triangular matrix.

UPLO = 'L' or 'l'   A is a lower triangular matrix.```

TRANS

```          TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:

TRANS = 'N' or 'n'   A*x = b.

TRANS = 'T' or 't'   A**T*x = b.

TRANS = 'C' or 'c'   A**T*x = b.```

DIAG

```          DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:

DIAG = 'U' or 'u'   A is assumed to be unit triangular.

DIAG = 'N' or 'n'   A is not assumed to be unit
triangular.```

N

```          N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero.```

AP

```          AP is DOUBLE PRECISION array, dimension at least
( ( n*( n + 1 ) )/2 ).
Before entry with  UPLO = 'U' or 'u', the array AP must
contain the upper 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 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.
Note that when  DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity.```

X

```          X is DOUBLE PRECISION array, dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x.```

INCX

```          INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Further Details:

```  Level 2 Blas routine.

-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs.```

Definition at line 143 of file dtpsv.f.

### subroutine stpsv (character uplo, character trans, character diag, integer n, real, dimension(*) ap, real, dimension(*) x, integer incx)

STPSV

Purpose:

``` STPSV  solves one of the systems of equations

A*x = b,   or   A**T*x = b,

where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular matrix, supplied in packed form.

No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine.```
Parameters

UPLO

```          UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:

UPLO = 'U' or 'u'   A is an upper triangular matrix.

UPLO = 'L' or 'l'   A is a lower triangular matrix.```

TRANS

```          TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:

TRANS = 'N' or 'n'   A*x = b.

TRANS = 'T' or 't'   A**T*x = b.

TRANS = 'C' or 'c'   A**T*x = b.```

DIAG

```          DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:

DIAG = 'U' or 'u'   A is assumed to be unit triangular.

DIAG = 'N' or 'n'   A is not assumed to be unit
triangular.```

N

```          N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero.```

AP

```          AP is REAL array, dimension at least
( ( n*( n + 1 ) )/2 ).
Before entry with  UPLO = 'U' or 'u', the array AP must
contain the upper 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 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.
Note that when  DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity.```

X

```          X is REAL array, dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x.```

INCX

```          INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Further Details:

```  Level 2 Blas routine.

-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs.```

Definition at line 143 of file stpsv.f.

### subroutine ztpsv (character uplo, character trans, character diag, integer n, complex*16, dimension(*) ap, complex*16, dimension(*) x, integer incx)

ZTPSV

Purpose:

``` ZTPSV  solves one of the systems of equations

A*x = b,   or   A**T*x = b,   or   A**H*x = b,

where b and x are n element vectors and A is an n by n unit, or
non-unit, upper or lower triangular matrix, supplied in packed form.

No test for singularity or near-singularity is included in this
routine. Such tests must be performed before calling this routine.```
Parameters

UPLO

```          UPLO is CHARACTER*1
On entry, UPLO specifies whether the matrix is an upper or
lower triangular matrix as follows:

UPLO = 'U' or 'u'   A is an upper triangular matrix.

UPLO = 'L' or 'l'   A is a lower triangular matrix.```

TRANS

```          TRANS is CHARACTER*1
On entry, TRANS specifies the equations to be solved as
follows:

TRANS = 'N' or 'n'   A*x = b.

TRANS = 'T' or 't'   A**T*x = b.

TRANS = 'C' or 'c'   A**H*x = b.```

DIAG

```          DIAG is CHARACTER*1
On entry, DIAG specifies whether or not A is unit
triangular as follows:

DIAG = 'U' or 'u'   A is assumed to be unit triangular.

DIAG = 'N' or 'n'   A is not assumed to be unit
triangular.```

N

```          N is INTEGER
On entry, N specifies the order of the matrix A.
N must be at least zero.```

AP

```          AP is COMPLEX*16 array, dimension at least
( ( n*( n + 1 ) )/2 ).
Before entry with  UPLO = 'U' or 'u', the array AP must
contain the upper 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 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.
Note that when  DIAG = 'U' or 'u', the diagonal elements of
A are not referenced, but are assumed to be unity.```

X

```          X is COMPLEX*16 array, dimension at least
( 1 + ( n - 1 )*abs( INCX ) ).
Before entry, the incremented array X must contain the n
element right-hand side vector b. On exit, X is overwritten
with the solution vector x.```

INCX

```          INCX is INTEGER
On entry, INCX specifies the increment for the elements of
X. INCX must not be zero.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Further Details:

```  Level 2 Blas routine.

-- Written on 22-October-1986.
Jack Dongarra, Argonne National Lab.
Jeremy Du Croz, Nag Central Office.
Sven Hammarling, Nag Central Office.
Richard Hanson, Sandia National Labs.```

Definition at line 143 of file ztpsv.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK