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

# zckgsv.f(3)

## NAME

TESTING/EIG/zckgsv.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zckgsv** (nm, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, u, v, q, alpha, beta, r, iwork, work, rwork, nin, nout, info)\
 **ZCKGSV**

## Function/Subroutine Documentation

### subroutine zckgsv (integer nm, integer, dimension( \* ) mval, integer, dimension( \* ) pval, integer, dimension( \* ) nval, integer nmats, integer, dimension( 4 ) iseed, double precision thresh, integer nmax, complex\*16, dimension( \* ) a, complex\*16, dimension( \* ) af, complex\*16, dimension( \* ) b, complex\*16, dimension( \* ) bf, complex\*16, dimension( \* ) u, complex\*16, dimension( \* ) v, complex\*16, dimension( \* ) q, double precision, dimension( \* ) alpha, double precision, dimension( \* ) beta, complex\*16, dimension( \* ) r, integer, dimension( \* ) iwork, complex\*16, dimension( \* ) work, double precision, dimension( \* ) rwork, integer nin, integer nout, integer info)

**ZCKGSV**

**Purpose:**

```
!>
!> ZCKGSV tests ZGGSVD:
!>        the GSVD for M-by-N matrix A and P-by-N matrix B.
!>
```

**Parameters**

*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.
!>
```

*PVAL*

```
!>          PVAL is INTEGER array, dimension (NP)
!>          The values of the matrix row dimension P.
!>
```

*NVAL*

```
!>          NVAL is INTEGER array, dimension (NN)
!>          The values of the matrix column dimension N.
!>
```

*NMATS*

```
!>          NMATS is INTEGER
!>          The number of matrix types to be tested for each combination
!>          of matrix dimensions.  If NMATS >= NTYPES (the maximum
!>          number of matrix types), then all the different types are
!>          generated for testing.  If NMATS < NTYPES, another input line
!>          is read to get the numbers of the matrix types to be used.
!>
```

*ISEED*

```
!>          ISEED is INTEGER array, dimension (4)
!>          On entry, the seed of the random number generator.  The array
!>          elements should be between 0 and 4095, otherwise they will be
!>          reduced mod 4096, and ISEED(4) must be odd.
!>          On exit, the next seed in the random number sequence after
!>          all the test matrices have been generated.
!>
```

*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)
!>
```

*AF*

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

*B*

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

*BF*

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

*U*

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

*V*

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

*Q*

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

*ALPHA*

```
!>          ALPHA is DOUBLE PRECISION array, dimension (NMAX)
!>
```

*BETA*

```
!>          BETA is DOUBLE PRECISION array, dimension (NMAX)
!>
```

*R*

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

*IWORK*

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

*WORK*

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

*RWORK*

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

*NIN*

```
!>          NIN is INTEGER
!>          The unit number for input.
!>
```

*NOUT*

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

*INFO*

```
!>          INFO is INTEGER
!>          = 0 :  successful exit
!>          > 0 :  If ZLATMS returns an error code, the absolute value
!>                 of it is returned.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **195** of file **zckgsv.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
