---
name: "ctpt01.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ctpt01.f"
---

# ctpt01.f(3)

## NAME

TESTING/LIN/ctpt01.f

## SYNOPSIS

### Functions/Subroutines

subroutine **ctpt01** (uplo, diag, n, ap, ainvp, rcond, rwork, resid)\
 **CTPT01**

## Function/Subroutine Documentation

### subroutine ctpt01 (character uplo, character diag, integer n, complex, dimension( \* ) ap, complex, dimension( \* ) ainvp, real rcond, real, dimension( \* ) rwork, real resid)

**CTPT01**

**Purpose:**

```
!>
!> CTPT01 computes the residual for a triangular matrix A times its
!> inverse when A is stored in packed format:
!>    RESID = norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ),
!> where EPS is the machine epsilon.
!>
```

**Parameters**

*UPLO*

```
!>          UPLO is CHARACTER*1
!>          Specifies whether the matrix A is upper or lower triangular.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>
```

*DIAG*

```
!>          DIAG is CHARACTER*1
!>          Specifies whether or not the matrix A is unit triangular.
!>          = 'N':  Non-unit triangular
!>          = 'U':  Unit triangular
!>
```

*N*

```
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>
```

*AP*

```
!>          AP is COMPLEX array, dimension (N*(N+1)/2)
!>          The original upper or lower triangular matrix A, packed
!>          columnwise in a linear array.  The j-th column of A is stored
!>          in the array AP as follows:
!>          if UPLO = 'U', AP((j-1)*j/2 + i) = A(i,j) for 1<=i<=j;
!>          if UPLO = 'L',
!>             AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n.
!>
```

*AINVP*

```
!>          AINVP is COMPLEX array, dimension (N*(N+1)/2)
!>          On entry, the (triangular) inverse of the matrix A, packed
!>          columnwise in a linear array as in AP.
!>          On exit, the contents of AINVP are destroyed.
!>
```

*RCOND*

```
!>          RCOND is REAL
!>          The reciprocal condition number of A, computed as
!>          1/(norm(A) * norm(AINV)).
!>
```

*RWORK*

```
!>          RWORK is REAL array, dimension (N)
!>
```

*RESID*

```
!>          RESID is REAL
!>          norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS )
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **108** of file **ctpt01.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
