Skip to content

Releases: Jollywatt/GeometricAlgebra.jl

v0.2.2

02 Oct 08:01
Compare
Choose a tag to compare

Changes since v0.2.2

  • Add ability to customise the order in which basis blades are displayed with BasisDisplayStyle on a per-algebra basis. (E.g., so that 3v12 - 2v13 + 1v23 displays as 1𝒆23 + 2𝒆31 + 3𝒆12 or 1𝒊 + 2𝒋 + 3𝒌).

  • Add @symbolicga convenience macro for compiling symbolically evaluated expressions, inspired by serenity4/SymbolicGA.jl.

Full Changelog: v0.2.1...v0.2.2

v0.2.1

28 Feb 07:02
Compare
Choose a tag to compare

Changes since v0.2.1

  • Support Multivectors with immutable component arrays (in particular, SVectors).
    Various improvements to type stability throughout.

  • Change BasisBlade constructor argument order to BasisBlade{Sig}(coeff, bits). Matches the convention used throughout where the coefficient is followed by the unit basis blade, agreeing with mathematical notation.

  • Prefer 0:dim:dim over (0, dim) as the grade parameter of scalar-pseudoscalars. This is more consistent with 0:dim and 0:2:dim.

  • Add basis(Multivector{Sig,K}) to generate a multivector basis, and basis(sig, k) for a basis of blades (k is no longer a keyword argument for consistency).

Full Changelog: v0.2.0...v0.2.1

v0.2.0

25 Jan 04:13
Compare
Choose a tag to compare

First stable version with simplified type system.

Changes since v0.1.2

  • Remove KVector{Sig,K} and Multivector{Sig} types in favour of Multivector{Sig,K}, where the grade K may now be a collection (e.g., range, tuple) in order to represent inhomogeneous multivectors.
    This simplifies and generalises the types: only one parametric type is needed, and arbitrary grade combinations (e.g., 0:2:dim for even multivectors) may be represented efficiently.

  • Grade promotion between different grades returns the next smallest subalgebra out of

    • 0 for scalars,
    • (0, dim) for scalar-pseudoscalars,
    • 0:2:dim for even multivectors,
    • 0:dim for general multivectors,

    for more efficient representations.

  • Remove vector_repr and make matrix_repr allow subspace representations.

  • Rename poincaredual to rdual and add ldual. These are also known as the right and left complements.

  • Add sandwich product and ‘antiwedge’ product .

Full Changelog: v0.1.2...v0.2.0