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

# zckcsd.f(3)

## NAME

TESTING/EIG/zckcsd.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zckcsd** (nm, mval, pval, qval, nmats, iseed, thresh, mmax, x, xf, u1, u2, v1t, v2t, theta, iwork, work, rwork, nin, nout, info)\
 **ZCKCSD**  subroutine **zlacsg** (m, p, q, theta, iseed, x, ldx, work)\

## Function/Subroutine Documentation

### subroutine zckcsd (integer nm, integer, dimension( \* ) mval, integer, dimension( \* ) pval, integer, dimension( \* ) qval, integer nmats, integer, dimension( 4 ) iseed, double precision thresh, integer mmax, complex\*16, dimension( \* ) x, complex\*16, dimension( \* ) xf, complex\*16, dimension( \* ) u1, complex\*16, dimension( \* ) u2, complex\*16, dimension( \* ) v1t, complex\*16, dimension( \* ) v2t, double precision, dimension( \* ) theta, integer, dimension( \* ) iwork, complex\*16, dimension( \* ) work, double precision, dimension( \* ) rwork, integer nin, integer nout, integer info)

**ZCKCSD**

**Purpose:**

```
!>
!> ZCKCSD tests ZUNCSD:
!>        the CSD for an M-by-M unitary matrix X partitioned as
!>        [ X11 X12; X21 X22 ]. X11 is P-by-Q.
!>
```

**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 (NM)
!>          The values of the matrix row dimension P.
!>
```

*QVAL*

```
!>          QVAL is INTEGER array, dimension (NM)
!>          The values of the matrix column dimension Q.
!>
```

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

*MMAX*

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

*X*

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

*XF*

```
!>          XF is COMPLEX*16 array, dimension (MMAX*MMAX)
!>
```

*U1*

```
!>          U1 is COMPLEX*16 array, dimension (MMAX*MMAX)
!>
```

*U2*

```
!>          U2 is COMPLEX*16 array, dimension (MMAX*MMAX)
!>
```

*V1T*

```
!>          V1T is COMPLEX*16 array, dimension (MMAX*MMAX)
!>
```

*V2T*

```
!>          V2T is COMPLEX*16 array, dimension (MMAX*MMAX)
!>
```

*THETA*

```
!>          THETA is DOUBLE PRECISION array, dimension (MMAX)
!>
```

*IWORK*

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

*WORK*

```
!>          WORK is COMPLEX*16 array
!>
```

*RWORK*

```
!>          RWORK is DOUBLE PRECISION array
!>
```

*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 ZLAROR 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 **181** of file **zckcsd.f**.

### subroutine zlacsg (integer m, integer p, integer q, double precision, dimension( \* ) theta, integer, dimension( 4 ) iseed, complex\*16, dimension( ldx, \* ) x, integer ldx, complex\*16, dimension( \* ) work)

Definition at line **352** of file **zckcsd.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
