You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to correctly calculate the dot product of two multivectors, there is an if statement to check if the CliffordNumbers.GradeFilter argument is the one used for the dot product. This is used because the dot product requires both masking the multiplications of certain grades and altering the signs associated with each multiplication:
# Special case for dot products
signs =sign.(inds)
if F <:GradeFilter{:dot}
signs = signs .*Int8(-1).^(grade.(inds) .* (grade(a) .-grade.(inds)))
end
I think we should avoid specifically referencing any CliffordNumbers.GradeFilter instance in CliffordNumbers.mul. Perhaps we'll need an additional function to handle the sign manipulation.
The text was updated successfully, but these errors were encountered:
In order to correctly calculate the dot product of two multivectors, there is an
if
statement to check if theCliffordNumbers.GradeFilter
argument is the one used for the dot product. This is used because the dot product requires both masking the multiplications of certain grades and altering the signs associated with each multiplication:I think we should avoid specifically referencing any
CliffordNumbers.GradeFilter
instance inCliffordNumbers.mul
. Perhaps we'll need an additional function to handle the sign manipulation.The text was updated successfully, but these errors were encountered: