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

# dlasq4.f(3)

## NAME

SRC/dlasq4.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dlasq4** (i0, n0, z, pp, n0in, dmin, dmin1, dmin2, dn, dn1, dn2, tau, ttype, g)\
 **DLASQ4** computes an approximation to the smallest eigenvalue using values of d from the previous transform. Used by sbdsqr.

## Function/Subroutine Documentation

### subroutine dlasq4 (integer i0, integer n0, double precision, dimension( \* ) z, integer pp, integer n0in, double precision dmin, double precision dmin1, double precision dmin2, double precision dn, double precision dn1, double precision dn2, double precision tau, integer ttype, double precision g)

**DLASQ4** computes an approximation to the smallest eigenvalue using values of d from the previous transform. Used by sbdsqr.

**Purpose:**

```
!>
!> DLASQ4 computes an approximation TAU to the smallest eigenvalue
!> using values of d from the previous transform.
!>
```

**Parameters**

*I0*

```
!>          I0 is INTEGER
!>        First index.
!>
```

*N0*

```
!>          N0 is INTEGER
!>        Last index.
!>
```

*Z*

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

*PP*

```
!>          PP is INTEGER
!>        PP=0 for ping, PP=1 for pong.
!>
```

*N0IN*

```
!>          N0IN is INTEGER
!>        The value of N0 at start of EIGTEST.
!>
```

*DMIN*

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

*DMIN1*

```
!>          DMIN1 is DOUBLE PRECISION
!>        Minimum value of d, excluding D( N0 ).
!>
```

*DMIN2*

```
!>          DMIN2 is DOUBLE PRECISION
!>        Minimum value of d, excluding D( N0 ) and D( N0-1 ).
!>
```

*DN*

```
!>          DN is DOUBLE PRECISION
!>        d(N)
!>
```

*DN1*

```
!>          DN1 is DOUBLE PRECISION
!>        d(N-1)
!>
```

*DN2*

```
!>          DN2 is DOUBLE PRECISION
!>        d(N-2)
!>
```

*TAU*

```
!>          TAU is DOUBLE PRECISION
!>        This is the shift.
!>
```

*TTYPE*

```
!>          TTYPE is INTEGER
!>        Shift type.
!>
```

*G*

```
!>          G is DOUBLE PRECISION
!>        G is passed as an argument in order to save its value between
!>        calls to DLASQ4.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
!>
!>  CNST1 = 9/16
!>
```

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

## Author

Generated automatically by Doxygen for LAPACK from the source code.
