# File lib/facets/more/quaternion.rb, line 505
  def cos
    # cos(r+uv)=cos r cosh v - u sin r sinh v
    vec=self.vector; v=vec.abs; if v==0; return Quaternion(Math::cos(@re)); end
    u = vec/v; e=Math::exp(v); er=1/e; c=e+er; s=e-er
    (Math::cos(@re)*c-u*Math::sin(@re)*s)/2
  end