# dlartgp.f

Section: LAPACK (3)
Updated: Tue Nov 14 2017
Page Index

dlartgp.f

## SYNOPSIS

### Functions/Subroutines

subroutine dlartgp (F, G, CS, SN, R)
DLARTGP generates a plane rotation so that the diagonal is nonnegative.

## Function/Subroutine Documentation

### subroutine dlartgp (double precision F, double precision G, double precision CS, double precision SN, double precision R)

DLARTGP generates a plane rotation so that the diagonal is nonnegative.

Purpose:

``` DLARTGP 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 DROTG,
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 DOUBLE PRECISION
The first component of vector to be rotated.
```

G

```          G is DOUBLE PRECISION
The second component of vector to be rotated.
```

CS

```          CS is DOUBLE PRECISION
The cosine of the rotation.
```

SN

```          SN is DOUBLE PRECISION
The sine of the rotation.
```

R

```          R is DOUBLE PRECISION
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