# zdrvls.f - Man Page

TESTING/LIN/zdrvls.f

## Synopsis

### Functions/Subroutines

subroutine **zdrvls** (dotype, nm, mval, nn, nval, nns, nsval, nnb, nbval, nxval, thresh, tsterr, a, copya, b, copyb, c, s, copys, nout)**ZDRVLS**

## Function/Subroutine Documentation

### subroutine zdrvls (logical, dimension( * ) dotype, integer nm, integer, dimension( * ) mval, integer nn, integer, dimension( * ) nval, integer nns, integer, dimension( * ) nsval, integer nnb, integer, dimension( * ) nbval, integer, dimension( * ) nxval, double precision thresh, logical tsterr, complex*16, dimension( * ) a, complex*16, dimension( * ) copya, complex*16, dimension( * ) b, complex*16, dimension( * ) copyb, complex*16, dimension( * ) c, double precision, dimension( * ) s, double precision, dimension( * ) copys, integer nout)

**ZDRVLS**

**Purpose:**

ZDRVLS tests the least squares driver routines ZGELS, ZGELST, ZGETSLS, ZGELSS, ZGELSY and ZGELSD.

**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. The matrix of type j is generated as follows: j=1: A = U*D*V where U and V are random unitary matrices and D has random entries (> 0.1) taken from a uniform distribution (0,1). A is full rank. j=2: The same of 1, but A is scaled up. j=3: The same of 1, but A is scaled down. j=4: A = U*D*V where U and V are random unitary matrices and D has 3*min(M,N)/4 random entries (> 0.1) taken from a uniform distribution (0,1) and the remaining entries set to 0. A is rank-deficient. j=5: The same of 4, but A is scaled up. j=6: The same of 5, but A is scaled down.

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

*NN*NN is INTEGER The number of values of N contained in the vector NVAL.

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

*NNB*NNB is INTEGER The number of values of NB and NX contained in the vectors NBVAL and NXVAL. The blocking parameters are used in pairs (NB,NX).

*NBVAL*NBVAL is INTEGER array, dimension (NNB) The values of the blocksize NB.

*NXVAL*NXVAL is INTEGER array, dimension (NNB) The values of the crossover point NX.

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

*TSTERR*TSTERR is LOGICAL Flag that indicates whether error exits are to be tested.

*A*A is COMPLEX*16 array, dimension (MMAX*NMAX) where MMAX is the maximum value of M in MVAL and NMAX is the maximum value of N in NVAL.

*COPYA*COPYA is COMPLEX*16 array, dimension (MMAX*NMAX)

*B*B is COMPLEX*16 array, dimension (MMAX*NSMAX) where MMAX is the maximum value of M in MVAL and NSMAX is the maximum value of NRHS in NSVAL.

*COPYB*COPYB is COMPLEX*16 array, dimension (MMAX*NSMAX)

*C*C is COMPLEX*16 array, dimension (MMAX*NSMAX)

*S*S is DOUBLE PRECISION array, dimension (min(MMAX,NMAX))

*COPYS*COPYS is DOUBLE PRECISION array, dimension (min(MMAX,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 **189** of file **zdrvls.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page zdrvls(3) is an alias of zdrvls.f(3).

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