[ANN] Quaternions.jl v0.7.0

@sethaxen and I have been working on maintaining the Quaternion.jl this year.

Today, version v0.7.0 has been released with some breaking changes, and this will likely be the last release before v1.0.0.

The changes we worked on include:

Note that some other packages define their own Quaternion struct.

The Quaternions.jl package does not have dependencies except for standard packages, and is maintained under JuliaGeometry organization. I hope every other package which uses quaternions has a dependency on our Quaternions.jl package.

Here’s the package logo designed with Luxor.jl. :smile:


It took me quite a while to find this, but

normalize(q::Quaternion) was removed and (to be consistent with LinearAlgebra) there is not sign(q).

Looks good. Do you intend to implement the usual mathematical functions such as the exponential and the logarithm? They are useful.

They are already implemented here and here.

As @stevengj pointed out, these are implemented already, but we also extend all complex analytic functions defined in Base to the quaternions and offer a function extend_analytic that a user can use to extend any other complex analytic function.