Householder rotation.

v | A column vector to be rotated to a multiple of the first canonical basis vector. |

return value | The vector that generates this rotation. |

For a vector v, there is a rotation S of the form I-ww', where w is a column vector, such that the whole rotated vector Sv, except the first element, is zero. The function returns w.

```
v =
```*[1;2;3;4]*
w = householder(v)
(eye(numRows(v)) - w*w')*v