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
The base library contains many different methods for scale and scale! which look like they are pre- and post-multiplicative variants, but are actually not. For example:
scale(x::Number, y::Vector) = x * y
scale(x::Vector, y::Number) = x * y
These methods are redundant when the product is commutative, and they are wrong when it is not (e.g. quaternions, which are clearly <: Number).
We should either
Delete half of these methods so that scale-ing only means either pre- or post-multiplication, or
Fix the existing methods to not assume commutativity, i.e. distinguish between pre- or post-multiplications.
The text was updated successfully, but these errors were encountered:
The base library contains many different methods for
scale
andscale!
which look like they are pre- and post-multiplicative variants, but are actually not. For example:These methods are redundant when the product is commutative, and they are wrong when it is not (e.g. quaternions, which are clearly
<: Number
).We should either
scale
-ing only means either pre- or post-multiplication, orThe text was updated successfully, but these errors were encountered: