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

# dlacn2.f(3)

## NAME

SRC/dlacn2.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dlacn2** (n, v, x, isgn, est, kase, isave)\
 **DLACN2** estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products.

## Function/Subroutine Documentation

### subroutine dlacn2 (integer n, double precision, dimension( \* ) v, double precision, dimension( \* ) x, integer, dimension( \* ) isgn, double precision est, integer kase, integer, dimension( 3 ) isave)

**DLACN2** estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products.

**Purpose:**

```
!>
!> DLACN2 estimates the 1-norm of a square, real matrix A.
!> Reverse communication is used for evaluating matrix-vector products.
!>
```

**Parameters**

*N*

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

*V*

```
!>          V is DOUBLE PRECISION array, dimension (N)
!>         On the final return, V = A*W,  where  EST = norm(V)/norm(W)
!>         (W is not returned).
!>
```

*X*

```
!>          X is DOUBLE PRECISION array, dimension (N)
!>         On an intermediate return, X should be overwritten by
!>               A * X,   if KASE=1,
!>               A**T * X,  if KASE=2,
!>         and DLACN2 must be re-called with all the other parameters
!>         unchanged.
!>
```

*ISGN*

```
!>          ISGN is INTEGER array, dimension (N)
!>
```

*EST*

```
!>          EST is DOUBLE PRECISION
!>         On entry with KASE = 1 or 2 and ISAVE(1) = 3, EST should be
!>         unchanged from the previous call to DLACN2.
!>         On exit, EST is an estimate (a lower bound) for norm(A).
!>
```

*KASE*

```
!>          KASE is INTEGER
!>         On the initial call to DLACN2, KASE should be 0.
!>         On an intermediate return, KASE will be 1 or 2, indicating
!>         whether X should be overwritten by A * X  or A**T * X.
!>         On the final return from DLACN2, KASE will again be 0.
!>
```

*ISAVE*

```
!>          ISAVE is INTEGER array, dimension (3)
!>         ISAVE is used to save variables between calls to DLACN2
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
!>
!>  Originally named SONEST, dated March 16, 1988.
!>
!>  This is a thread safe version of DLACON, which uses the array ISAVE
!>  in place of a SAVE statement, as follows:
!>
!>     DLACON     DLACN2
!>      JUMP     ISAVE(1)
!>      J        ISAVE(2)
!>      ITER     ISAVE(3)
!>
```

**Contributors:**

Nick Higham, University of Manchester

**References:**

N.J. Higham, "FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation", ACM Trans. Math. Soft., vol. 14, no. 4, pp. 381-396, December 1988.

Definition at line **135** of file **dlacn2.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
