Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix + and * of DirectProductElement and non-list collection
These are problematic as follows: Suppose you want to know what kind of object A*B is: * If A and B are "scalars", it is their product. * If A is a "scalar" and B=[x,y] is a list or a direct product element (dpe), it is the list [A*x,A*y]. * If A=[x,y] is a list and B is a "scalar", it is the list [x*B, y*B] * If both are lists, it is their scalar product But now what if A is a RightCoset in a group G, and B a group element? Then we might expect this to be the new right coset A*B, at least if B is in G. But if B is a list or dpe [x,y], it could also mean the dpe [A*x, A*y]. This ambiguity is the source of problems once the method ranks fluctuate. This commit works around this issue by modifying some methods which currently try to disambiguate the above situation by checking the arguments against the filter `IsList`, to instead check `IsListOrCollection`.
- Loading branch information