3 ms·
From: http://legacy.python.org/dev/peps/pep-0465/#id24 http://legacy.python.org/dev/peps/pep-0465/#id24 Implementing __matmul__, __rmatmul__ and __imatmul__ w
by servbot 11y ago
From:
http://legacy.python.org/dev/peps/pep-0465/#id24 http://legacy.python.org/dev/peps/pep-0465/#id24
Implementing __matmul__, __rmatmul__ and __imatmul__ will allow you to apply this operator to any given class. In that light, you could subclass the numpy matrix class yourself and simply apply these.
As for whether these will be applied to Python lists, my speculation is: I doubt it. Its possibly the most commonly used data structure, and I doubt they would add the overhead of another set of methods on each instance.
- andreasvc 11y agoThe matrix multiplication on lists could be used for the cartesian product (see itertools.product). However this operation is rather uncommon so there's no good reason to use an operator for it. It wouldn't incur any overhead, don't know why you'd think it would. Each method of any object only needs to be stored once, not again for every instance. The overhead comes from pointers and data fields such as the length.
- dragonwriter 11y ago> Its possibly the most commonly used data structure, and I doubt they would add the overhead of another set of methods on each instance. Unless I'm grossly mistaken, Python methods add basically no per-instance overhead (they add per-class overhead.)