Printing many multivectors deliberately doesn't show components that are 'close' to zero. This was a design decision that aims to improve ergonomics, however in practice is causing confusion when comparing two things that look as though they should be the same, but in fact are not.
Ultimately it's a hard problem because "close to zero" will always be a fairly arbitrary choice, and context dependent. My conclusion is that we shouldn't take a stance within this library. I think it would be better to either:
always show all components (this is what the stdlib Complex type does)
show all components that are not exactly zero
I'm leaning towards implementing 2 for now, as it would be a smaller change.
Printing many multivectors deliberately doesn't show components that are 'close' to zero. This was a design decision that aims to improve ergonomics, however in practice is causing confusion when comparing two things that look as though they should be the same, but in fact are not.
Ultimately it's a hard problem because "close to zero" will always be a fairly arbitrary choice, and context dependent. My conclusion is that we shouldn't take a stance within this library. I think it would be better to either:
Complex
type does)I'm leaning towards implementing 2 for now, as it would be a smaller change.