# dlartg.f

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

dlartg.f

## SYNOPSIS

### Functions/Subroutines

subroutine dlartg (F, G, CS, SN, R)
DLARTG generates a plane rotation with real cosine and real sine.

## Function/Subroutine Documentation

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

DLARTG generates a plane rotation with real cosine and real sine.

Purpose:

``` DLARTG generate 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 BLAS1 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 without doing any
floating point operations (saves work in DBDSQR when
there are zeros on the diagonal).

If F exceeds G in magnitude, CS will be positive.
```

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