chakravala / Grassmann.jl

⟨Grassmann-Clifford-Hodge⟩ multilinear differential geometric algebra
https://grassmann.crucialflow.com
GNU Affero General Public License v3.0
464 stars 39 forks source link

Geometric Product between Bivectors of 5D CGA #99

Closed mw95710 closed 2 years ago

mw95710 commented 2 years ago

I am using @basis S"∞∅+++"

when I perform geometric product v∞1*v∅1 I get the expected result 1 - 1v∞∅

however, when I perform -v∞1-v∅1 or ~v∞1~v∅1, I get the following error:

MethodError: no method matching Simplex(::Int64, ::MultiVector{⟨∞∅+++⟩, Int64, 32}) Closest candidates are: (::Type{T})(::T) where T<:Number at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/boot.jl:770 Simplex(::Any, ::S) where {V, S<:(TensorTerm{V})} at ~/.julia/packages/DirectSum/44LUF/src/DirectSum.jl:379 Stacktrace: [1] *(a::Simplex{⟨∞∅+++⟩, 2, v∞₁, Int64}, b::Simplex{⟨∞∅+++⟩, 2, v∅₁, Int64}) @ Grassmann ~/.julia/packages/Grassmann/xDWIy/src/products.jl:420 [2] top-level scope @ none:1

I was wondering if this is expected and if so how can I work around it.

chakravala commented 2 years ago

That's a bug which was probably introduced when I refactored some code, fixing it is a one-liner https://github.com/chakravala/Grassmann.jl/commit/c06baca2a7ca568ed93b0d8932a3e4f272de1b5e#diff-015559ce41a85ee629f793c86b8b547fa2d2c89247785b5d113bdeecd6aa1a23R364