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

# rscl(3)

rscl: scale vector by reciprocal

## NAME

rscl - rscl: scale vector by reciprocal

## SYNOPSIS

### Functions

subroutine **csrscl** (n, sa, sx, incx)\
 **CSRSCL** multiplies a vector by the reciprocal of a real scalar.  subroutine **drscl** (n, sa, sx, incx)\
 **DRSCL** multiplies a vector by the reciprocal of a real scalar.  subroutine **srscl** (n, sa, sx, incx)\
 **SRSCL** multiplies a vector by the reciprocal of a real scalar.  subroutine **zdrscl** (n, sa, sx, incx)\
 **ZDRSCL** multiplies a vector by the reciprocal of a real scalar.

## Detailed Description

## Function Documentation

### subroutine csrscl (integer n, real sa, complex, dimension( \* ) sx, integer incx)

**CSRSCL** multiplies a vector by the reciprocal of a real scalar.

**Purpose:**

```
!>
!> CSRSCL multiplies an n-element complex vector x by the real scalar
!> 1/a.  This is done without overflow or underflow as long as
!> the final result x/a does not overflow or underflow.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The number of components of the vector x.
!>
```

*SA*

```
!>          SA is REAL
!>          The scalar a which is used to divide each component of x.
!>          SA must be >= 0, or the subroutine will divide by zero.
!>
```

*SX*

```
!>          SX is COMPLEX array, dimension
!>                         (1+(N-1)*abs(INCX))
!>          The n-element vector x.
!>
```

*INCX*

```
!>          INCX is INTEGER
!>          The increment between successive values of the vector SX.
!>          > 0:  SX(1) = X(1) and SX(1+(i-1)*INCX) = x(i),     1< i<= n
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **83** of file **csrscl.f**.

### subroutine drscl (integer n, double precision sa, double precision, dimension( \* ) sx, integer incx)

**DRSCL** multiplies a vector by the reciprocal of a real scalar.

**Purpose:**

```
!>
!> DRSCL multiplies an n-element real vector x by the real scalar 1/a.
!> This is done without overflow or underflow as long as
!> the final result x/a does not overflow or underflow.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The number of components of the vector x.
!>
```

*SA*

```
!>          SA is DOUBLE PRECISION
!>          The scalar a which is used to divide each component of x.
!>          SA must be >= 0, or the subroutine will divide by zero.
!>
```

*SX*

```
!>          SX is DOUBLE PRECISION array, dimension
!>                         (1+(N-1)*abs(INCX))
!>          The n-element vector x.
!>
```

*INCX*

```
!>          INCX is INTEGER
!>          The increment between successive values of the vector SX.
!>          > 0:  SX(1) = X(1) and SX(1+(i-1)*INCX) = x(i),     1< i<= n
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **83** of file **drscl.f**.

### subroutine srscl (integer n, real sa, real, dimension( \* ) sx, integer incx)

**SRSCL** multiplies a vector by the reciprocal of a real scalar.

**Purpose:**

```
!>
!> SRSCL multiplies an n-element real vector x by the real scalar 1/a.
!> This is done without overflow or underflow as long as
!> the final result x/a does not overflow or underflow.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The number of components of the vector x.
!>
```

*SA*

```
!>          SA is REAL
!>          The scalar a which is used to divide each component of x.
!>          SA must be >= 0, or the subroutine will divide by zero.
!>
```

*SX*

```
!>          SX is REAL array, dimension
!>                         (1+(N-1)*abs(INCX))
!>          The n-element vector x.
!>
```

*INCX*

```
!>          INCX is INTEGER
!>          The increment between successive values of the vector SX.
!>          > 0:  SX(1) = X(1) and SX(1+(i-1)*INCX) = x(i),     1< i<= n
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **83** of file **srscl.f**.

### subroutine zdrscl (integer n, double precision sa, complex\*16, dimension( \* ) sx, integer incx)

**ZDRSCL** multiplies a vector by the reciprocal of a real scalar.

**Purpose:**

```
!>
!> ZDRSCL multiplies an n-element complex vector x by the real scalar
!> 1/a.  This is done without overflow or underflow as long as
!> the final result x/a does not overflow or underflow.
!>
```

**Parameters**

*N*

```
!>          N is INTEGER
!>          The number of components of the vector x.
!>
```

*SA*

```
!>          SA is DOUBLE PRECISION
!>          The scalar a which is used to divide each component of x.
!>          SA must be >= 0, or the subroutine will divide by zero.
!>
```

*SX*

```
!>          SX is COMPLEX*16 array, dimension
!>                         (1+(N-1)*abs(INCX))
!>          The n-element vector x.
!>
```

*INCX*

```
!>          INCX is INTEGER
!>          The increment between successive values of the vector SX.
!>          > 0:  SX(1) = X(1) and SX(1+(i-1)*INCX) = x(i),     1< i<= n
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **83** of file **zdrscl.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
