Nutella Per Minute
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

# calculate-givens-rotation

Compute the components of a Givens rotation matrix in order to zero an element

## Introduction

This module implements Algorithm 5.1.3 of Golub and Van Loan's Matrix Computations, 4th Edition. The goal is to calculate the components of a rotation matrix that, when applied to vector `[a,b]^T`, will zero out the second component.

``````[  c  s  ] T     [ a ]     [ r ]
[        ]    *  [   ]  =  [   ]
[ -s  c  ]       [ b ]     [ 0 ]
``````

Note that it also applies to the transposed case,

``````             [  c  s  ]
[ a  b ]  *  [        ]  =  [ r  0 ]
[ -s  c  ]
``````

Sample usage:

## API

### `require('calculate-givens-rotation')( a, b )`

Given two elements of a vector, compute the rotation matrix that zeros the second element.

• `a`,`b`: the elements of the vector. `b` is the element to be zeroed.

Returns a two-element list `[c,s]` containing c and s as defined above.

### `require('calculate-givens-rotation')( a, b, output )`

An alternate form that passes output values through array `output`

• `a`,`b`: as specified previously
• `output`: an array that receives the output values, `output[0] = c` and `output[1] = s`

Returns `output`

## Credits

(c) 2015 Ricky Reusser. MIT License

## Keywords

### install

`npm i calculate-givens-rotation`

4

1.0.1

MIT

github