# dlasq3.f man page

dlasq3.f —

## Synopsis

### Functions/Subroutines

subroutinedlasq3(I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL, ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, DN2, G, TAU)DLASQ3checks for deflation, computes a shift and calls dqds. Used by sbdsqr.

## Function/Subroutine Documentation

### subroutine dlasq3 (integerI0, integerN0, double precision, dimension( * )Z, integerPP, double precisionDMIN, double precisionSIGMA, double precisionDESIG, double precisionQMAX, integerNFAIL, integerITER, integerNDIV, logicalIEEE, integerTTYPE, double precisionDMIN1, double precisionDMIN2, double precisionDN, double precisionDN1, double precisionDN2, double precisionG, double precisionTAU)

**DLASQ3** checks for deflation, computes a shift and calls dqds. Used by sbdsqr.

**Purpose:**

```
DLASQ3 checks for deflation, computes a shift (TAU) and calls dqds.
In case of failure it changes shifts, and tries again until output
is positive.
```

**Parameters:**

*I0*

```
I0 is INTEGER
First index.
```

*N0*

```
N0 is INTEGER
Last index.
```

*Z*

```
Z is DOUBLE PRECISION array, dimension ( 4*N )
Z holds the qd array.
```

*PP*

```
PP is INTEGER
PP=0 for ping, PP=1 for pong.
PP=2 indicates that flipping was applied to the Z array
and that the initial tests for deflation should not be
performed.
```

*DMIN*

```
DMIN is DOUBLE PRECISION
Minimum value of d.
```

*SIGMA*

```
SIGMA is DOUBLE PRECISION
Sum of shifts used in current segment.
```

*DESIG*

```
DESIG is DOUBLE PRECISION
Lower order part of SIGMA
```

*QMAX*

```
QMAX is DOUBLE PRECISION
Maximum value of q.
```

*NFAIL*

```
NFAIL is INTEGER
Number of times shift was too big.
```

*ITER*

```
ITER is INTEGER
Number of iterations.
```

*NDIV*

```
NDIV is INTEGER
Number of divisions.
```

*IEEE*

```
IEEE is LOGICAL
Flag for IEEE or non IEEE arithmetic (passed to DLASQ5).
```

*TTYPE*

```
TTYPE is INTEGER
Shift type.
```

*DMIN1*

`DMIN1 is DOUBLE PRECISION`

*DMIN2*

`DMIN2 is DOUBLE PRECISION`

*DN*

`DN is DOUBLE PRECISION`

*DN1*

`DN1 is DOUBLE PRECISION`

*DN2*

`DN2 is DOUBLE PRECISION`

*G*

`G is DOUBLE PRECISION`

*TAU*

```
TAU is DOUBLE PRECISION
These are passed as arguments in order to save their values
between calls to DLASQ3.
```

**Author:**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Date:**

September 2012

Definition at line 181 of file dlasq3.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

dlasq3(3) is an alias of dlasq3.f(3).

Sat Nov 16 2013 Version 3.4.2 LAPACK