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

# slartgp.f(3)

## NAME

SRC/slartgp.f

## SYNOPSIS

### Functions/Subroutines

subroutine **slartgp** (f, g, cs, sn, r)\
 **SLARTGP** generates a plane rotation so that the diagonal is nonnegative.

## Function/Subroutine Documentation

### subroutine slartgp (real f, real g, real cs, real sn, real r)

**SLARTGP** generates a plane rotation so that the diagonal is nonnegative.

**Purpose:**

```
!>
!> SLARTGP generates a plane rotation so that
!>
!>    [  CS  SN  ]  .  [ F ]  =  [ R ]   where CS**2 + SN**2 = 1.
!>    [ -SN  CS  ]     [ G ]     [ 0 ]
!>
!> This is a slower, more accurate version of the Level 1 BLAS routine SROTG,
!> with the following other differences:
!>    F and G are unchanged on return.
!>    If G=0, then CS=(+/-)1 and SN=0.
!>    If F=0 and (G .ne. 0), then CS=0 and SN=(+/-)1.
!>
!> The sign is chosen so that R >= 0.
!>
```

**Parameters**

*F*

```
!>          F is REAL
!>          The first component of vector to be rotated.
!>
```

*G*

```
!>          G is REAL
!>          The second component of vector to be rotated.
!>
```

*CS*

```
!>          CS is REAL
!>          The cosine of the rotation.
!>
```

*SN*

```
!>          SN is REAL
!>          The sine of the rotation.
!>
```

*R*

```
!>          R is REAL
!>          The nonzero component of the rotated vector.
!>
!>  This version has a few statements commented out for thread safety
!>  (machine parameters are computed on each entry). 10 feb 03, SJH.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **94** of file **slartgp.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
