GivensMatrix := proc( v :: Vector # a 2-dim vector ) local c, s, r, G; r := sqrt( v[1]^2 + v[2]^2 ); if r = 0 then return <<1,0>|<0,1>>; else c, s := v[1]/r, v[2]/r; return <|>; end if; end proc;