This is a significant issue that can arise when multiplying a Clifford number by a negative scalar as opposed to an EvenCliffordNumber equal to that scalar:
julia> x = EvenCliffordNumber{VGA(3),Float64}(0, 0, 6, 9)
4-element EvenCliffordNumber{VGA(3), Float64}:
6.0e₁e₃ + 9.0e₂e₃
julia> -x == x * EvenCliffordNumber{VGA(3),Float64}(-1)
true
julia> isequal(-x, x * EvenCliffordNumber{VGA(3),Float64}(-1))
true
julia> -x === x * EvenCliffordNumber{VGA(3),Float64}(-1)
false
Part of this issue is due to the behavior of signed zero under addition: 0.0 + (-0.0) === 0.0.
This is a significant issue that can arise when multiplying a Clifford number by a negative scalar as opposed to an
EvenCliffordNumberequal to that scalar:Part of this issue is due to the behavior of signed zero under addition:
0.0 + (-0.0) === 0.0.