---
name: "zdrvab.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/zdrvab.f"
---

# zdrvab.f(3)

## NAME

TESTING/LIN/zdrvab.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zdrvab** (dotype, nm, mval, nns, nsval, thresh, nmax, a, afac, b, x, work, rwork, swork, iwork, nout)\
 **ZDRVAB**

## Function/Subroutine Documentation

### subroutine zdrvab (logical, dimension( \* ) dotype, integer nm, integer, dimension( \* ) mval, integer nns, integer, dimension( \* ) nsval, double precision thresh, integer nmax, complex\*16, dimension( \* ) a, complex\*16, dimension( \* ) afac, complex\*16, dimension( \* ) b, complex\*16, dimension( \* ) x, complex\*16, dimension( \* ) work, double precision, dimension( \* ) rwork, complex, dimension( \* ) swork, integer, dimension( \* ) iwork, integer nout)

**ZDRVAB**

**Purpose:**

```
!>
!> ZDRVAB tests ZCGESV
!>
```

**Parameters**

*DOTYPE*

```
!>          DOTYPE is LOGICAL array, dimension (NTYPES)
!>          The matrix types to be used for testing.  Matrices of type j
!>          (for 1 <= j <= NTYPES) are used for testing if DOTYPE(j) =
!>          .TRUE.; if DOTYPE(j) = .FALSE., then type j is not used.
!>
```

*NM*

```
!>          NM is INTEGER
!>          The number of values of M contained in the vector MVAL.
!>
```

*MVAL*

```
!>          MVAL is INTEGER array, dimension (NM)
!>          The values of the matrix row dimension M.
!>
```

*NNS*

```
!>          NNS is INTEGER
!>          The number of values of NRHS contained in the vector NSVAL.
!>
```

*NSVAL*

```
!>          NSVAL is INTEGER array, dimension (NNS)
!>          The values of the number of right hand sides NRHS.
!>
```

*THRESH*

```
!>          THRESH is DOUBLE PRECISION
!>          The threshold value for the test ratios.  A result is
!>          included in the output file if RESULT >= THRESH.  To have
!>          every test ratio printed, use THRESH = 0.
!>
```

*NMAX*

```
!>          NMAX is INTEGER
!>          The maximum value permitted for M or N, used in dimensioning
!>          the work arrays.
!>
```

*A*

```
!>          A is COMPLEX*16 array, dimension (NMAX*NMAX)
!>
```

*AFAC*

```
!>          AFAC is COMPLEX*16 array, dimension (NMAX*NMAX)
!>
```

*B*

```
!>          B is COMPLEX*16 array, dimension (NMAX*NSMAX)
!>          where NSMAX is the largest entry in NSVAL.
!>
```

*X*

```
!>          X is COMPLEX*16 array, dimension (NMAX*NSMAX)
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 array, dimension
!>                      (NMAX*max(3,NSMAX*2))
!>
```

*RWORK*

```
!>          RWORK is DOUBLE PRECISION array, dimension
!>                      NMAX
!>
```

*SWORK*

```
!>          SWORK is COMPLEX array, dimension
!>                      (NMAX*(NSMAX+NMAX))
!>
```

*IWORK*

```
!>          IWORK is INTEGER array, dimension
!>                      NMAX
!>
```

*NOUT*

```
!>          NOUT is INTEGER
!>          The unit number for output.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **149** of file **zdrvab.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
