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

# zlarscl2.f(3)

## NAME

SRC/zlarscl2.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zlarscl2** (m, n, d, x, ldx)\
 **ZLARSCL2** performs reciprocal diagonal scaling on a matrix.

## Function/Subroutine Documentation

### subroutine zlarscl2 (integer m, integer n, double precision, dimension( \* ) d, complex\*16, dimension( ldx, \* ) x, integer ldx)

**ZLARSCL2** performs reciprocal diagonal scaling on a matrix.

**Purpose:**

```
!>
!> ZLARSCL2 performs a reciprocal diagonal scaling on a matrix:
!>   x <-- inv(D) * x
!> where the DOUBLE PRECISION diagonal matrix D is stored as a vector.
!>
!> Eventually to be replaced by BLAS_zge_diag_scale in the new BLAS
!> standard.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>     The number of rows of D and X. M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>     The number of columns of X. N >= 0.
!>
```

*D*

```
!>          D is DOUBLE PRECISION array, length M
!>     Diagonal matrix D, stored as a vector of length M.
!>
```

*X*

```
!>          X is COMPLEX*16 array, dimension (LDX,N)
!>     On entry, the matrix X to be scaled by D.
!>     On exit, the scaled matrix.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>     The leading dimension of the matrix X. LDX >= M.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **90** of file **zlarscl2.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
