---
name: "laneg"
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/laneg"
---

# laneg(3)

laneg: Sturm count

## NAME

laneg - laneg: Sturm count

## SYNOPSIS

### Functions

integer function **dlaneg** (n, d, lld, sigma, pivmin, r)\
 **DLANEG** computes the Sturm count.  integer function **slaneg** (n, d, lld, sigma, pivmin, r)\
 **SLANEG** computes the Sturm count.

## Detailed Description

## Function Documentation

### integer function dlaneg (integer n, double precision, dimension( \* ) d, double precision, dimension( \* ) lld, double precision sigma, double precision pivmin, integer r)

**DLANEG** computes the Sturm count.

**Purpose:**

```
!>
!> DLANEG computes the Sturm count, the number of negative pivots
!> encountered while factoring tridiagonal T - sigma I = L D L^T.
!> This implementation works directly on the factors without forming
!> the tridiagonal matrix T.  The Sturm count is also the number of
!> eigenvalues of T less than sigma.
!>
!> This routine is called from DLARRB.
!>
!> The current routine does not use the PIVMIN parameter but rather
!> requires IEEE-754 propagation of Infinities and NaNs.  This
!> routine also has no input range restrictions but does require
!> default exception handling such that x/0 produces Inf when x is
!> non-zero, and Inf/Inf produces NaN.  For more information, see:
!>
!>   Marques, Riedy, and Voemel,  SIAM Journal on
!>   Scientific Computing, v28, n5, 2006.  DOI 10.1137/050641624
!>   (Tech report version in LAWN 172 with the same title.)
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The order of the matrix.
!>
```

*D*

```
!>          D is DOUBLE PRECISION array, dimension (N)
!>          The N diagonal elements of the diagonal matrix D.
!>
```

*LLD*

```
!>          LLD is DOUBLE PRECISION array, dimension (N-1)
!>          The (N-1) elements L(i)*L(i)*D(i).
!>
```

*SIGMA*

```
!>          SIGMA is DOUBLE PRECISION
!>          Shift amount in T - sigma I = L D L^T.
!>
```

*PIVMIN*

```
!>          PIVMIN is DOUBLE PRECISION
!>          The minimum pivot in the Sturm sequence.  May be used
!>          when zero pivots are encountered on non-IEEE-754
!>          architectures.
!>
```

*R*

```
!>          R is INTEGER
!>          The twist index for the twisted factorization that is used
!>          for the negcount.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

Osni Marques, LBNL/NERSC, USA \
 Christof Voemel, University of California, Berkeley, USA \
 Jason Riedy, University of California, Berkeley, USA \

Definition at line **117** of file **dlaneg.f**.

### integer function slaneg (integer n, real, dimension( \* ) d, real, dimension( \* ) lld, real sigma, real pivmin, integer r)

**SLANEG** computes the Sturm count.

**Purpose:**

```
!>
!> SLANEG computes the Sturm count, the number of negative pivots
!> encountered while factoring tridiagonal T - sigma I = L D L^T.
!> This implementation works directly on the factors without forming
!> the tridiagonal matrix T.  The Sturm count is also the number of
!> eigenvalues of T less than sigma.
!>
!> This routine is called from SLARRB.
!>
!> The current routine does not use the PIVMIN parameter but rather
!> requires IEEE-754 propagation of Infinities and NaNs.  This
!> routine also has no input range restrictions but does require
!> default exception handling such that x/0 produces Inf when x is
!> non-zero, and Inf/Inf produces NaN.  For more information, see:
!>
!>   Marques, Riedy, and Voemel,  SIAM Journal on
!>   Scientific Computing, v28, n5, 2006.  DOI 10.1137/050641624
!>   (Tech report version in LAWN 172 with the same title.)
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The order of the matrix.
!>
```

*D*

```
!>          D is REAL array, dimension (N)
!>          The N diagonal elements of the diagonal matrix D.
!>
```

*LLD*

```
!>          LLD is REAL array, dimension (N-1)
!>          The (N-1) elements L(i)*L(i)*D(i).
!>
```

*SIGMA*

```
!>          SIGMA is REAL
!>          Shift amount in T - sigma I = L D L^T.
!>
```

*PIVMIN*

```
!>          PIVMIN is REAL
!>          The minimum pivot in the Sturm sequence.  May be used
!>          when zero pivots are encountered on non-IEEE-754
!>          architectures.
!>
```

*R*

```
!>          R is INTEGER
!>          The twist index for the twisted factorization that is used
!>          for the negcount.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**

Osni Marques, LBNL/NERSC, USA \
 Christof Voemel, University of California, Berkeley, USA \
 Jason Riedy, University of California, Berkeley, USA \

Definition at line **117** of file **slaneg.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
