biVector forum

New GA package for Julia - CliffordAlgebras.jl

I’m pleased to announce a new open-source Julia package for generic Clifford Algebras. The first release is fully functional and uses compile-time optimisations, sparse multivector representation and special case identification and handling for all non-trivial operations.

The package registration with the Julia package manager is still pending. In the meantime, please find CliffordAlgebras.jl at the GitHub repository: https://github.com/ATell-SoundTheory/CliffordAlgebras.jl

I’m looking forward to receiving feedback and I would also appreciate any form of contribution.

Thanks,

Andreas

1 Like

Interesting, have you tried out Grassmann.jl? I tested your library and mine is faster than yours. You’re also welcome to contribute to my package. Let me know if there is something which does not satisfy you. What are your goals with the package?

I find your website interesting, I am also into audio/music.

I have tried Grassmann and I don’t think there’s anything wrong with it. I wanted to follow a different design philosophy and offer a beginner-friendly alternative.

Regarding performance: This is the first incarnation of the library. There are many possible performance optimizations that have not been implemented yet. Most importantly, there is no lazy evaluation and compile-time optimization of composed GA-expressions yet. This will greatly reduce the calculation overhead by avoiding redundancies and not evaluating what is discarded later.

Also, if you benchmark CliffordAlgebras.jl, make sure you take the compile-time into account as most performance relevant code is generated when used first.