---
name: "slartg"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/slartg/3lapack"
---

# slartg(3lapack)

generate a plane rotation so that \[ CS SN \]

## NAME

SLARTG - generate a plane rotation so that   \[ CS SN \]

## SYNOPSIS

- SUBROUTINE SLARTG(

  F, G, CS, SN, R )

- REAL

  CS, F, G, R, SN

## PURPOSE

SLARTG generate a plane rotation so that\
    \[ -SN  CS  \]     \[ G \]     \[ 0 \]\
 This is a slower, more accurate version of the BLAS1 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 without doing any\
       floating point operations (saves work in SBDSQR when\
       there are zeros on the diagonal).\
 If F exceeds G in magnitude, CS will be positive.\

## ARGUMENTS

- F (input) REAL

  The first component of vector to be rotated.

- G (input) REAL

  The second component of vector to be rotated.

- CS (output) REAL

  The cosine of the rotation.

- SN (output) REAL

  The sine of the rotation.

- R (output) 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.
