[Python-ideas] [RFC] draft PEP: Dedicated infix operators for matrix multiplication and matrix power
Steven D'Aprano
steve at pearwood.info
Sat Mar 15 15:04:51 CET 2014
More information about the Python-ideas mailing list
Sat Mar 15 15:04:51 CET 2014
- Previous message: [Python-ideas] [RFC] draft PEP: Dedicated infix operators for matrix multiplication and matrix power
- Next message: [Python-ideas] [RFC] draft PEP: Dedicated infix operators for matrix multiplication and matrix power
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Mar 15, 2014 at 01:28:11PM +0100, Antoine Pitrou wrote: > On Sat, 15 Mar 2014 12:20:42 +0000 > Oscar Benjamin > <oscar.j.benjamin at gmail.com> wrote: > > > > I don't think it's a premature optimisation. It's a significant > > algorithmic optimisation. > > You could also make the multiplications lazy (and enforce the optimal > order when computing the final result) rather than enforce that > optimization at the language parsing level. It would be more flexible, > and would also avoid potentially pessimizing other use cases. That sounds to me that you are suggesting that every single implementation of a matrix type that supports matrix multiplication needs to spend the considerable extra effort to make the multiplication lazy, in order to "potentially" avoid hurting hypothetical use-cases which don't exist now and may never exist. That's as clear a case of YAGNI as I've seen for a long time. We have one solid use-case for a matrix multiplication operator, and that's matrix multiplication. If matrix multiplication is most usefully treated as right-associative, then we ought to make it right- associative, and not burden the matrix multiplication operator with restrictions for the sake of hypothetical non-matrix-mult uses. In the same way that there is one good use-case for the numeric exponentiation operator ** , namely numeric exponentiation, and consequently it is right-associative because that's how the operator is most usefully treated. -- Steven
- Previous message: [Python-ideas] [RFC] draft PEP: Dedicated infix operators for matrix multiplication and matrix power
- Next message: [Python-ideas] [RFC] draft PEP: Dedicated infix operators for matrix multiplication and matrix power
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list